Ecmascript 6 如何让Babel6编译成ES5JavaScript?

我已经安装了babel的最新版本。目前为6.4.0。我创建了一个名为myclass.js的文件,其中包含以下代码 class MyClass { constructor(name) { console.log("I am a MyClass object .. ", name); } } var myclass = new MyClass('1234'); 创建类后,我在命令行中执行以下操作 $> babel ./src/myclass.js --out

Ecmascript 6 在es6中迭代对象

这对我来说很好: const iterable = [1, 2, 3]; for (const value of iterable) { console.log(value); } 但是,这不起作用: const iterable = {1:10, 2:20, 3:30}; for (const value of iterable) { console.log(value); console.log(iterable[value]); } 而是给我一个错误: Un

Ecmascript 6 在现有项目中使用babeljs编译文件

我有一个用ES6编写的简单类 class MyClass { constructor() { this.firstVar = 'a'; this.secondVar = 'b'; } get first() { return this.firstVar; } set first(val) { this.firstVar = val; } get second() { return this.secondVar; } set second(val) { t

Ecmascript 6 “traceur编译器”如何将ES转换为当前ES旁边的ES

我在谷歌上搜索到任何现有的ES-6到ES-5 transpiler。我在那里找到了。我只是试着把它嵌入到一个页面上,发现它工作得很好 然后我好奇地想知道traceur编译器实际上是如何工作的。然后我去了解了库的源代码,花了我相当长的时间来理解库的内部实现 我相信,如果我得到一些工具或某种机制,为ES-6脚本的一些示例输入显示等效的ES-5输出,我将有助于理解traceur编译器的工作。对我来说,了解工作环境会容易得多 例如,假设下面是示例ES-6代码 class Greeter {

Ecmascript 6 babel5-->;babel6:模块属性

我试图弄明白如何告诉babel6生成一个特定的模块语法(amd、commonjs等) 这是我用来指定模块的方式: babel6给了我一个错误:Unknow选项:base.modules 感谢您的指导!!:) 错误: events.js:141 throw er; // Unhandled 'error' event ^ ReferenceError: [BABEL] C:\a\au\metadata\dist\aurelia-metadata.js: Unknown o

Ecmascript 6 在if语句中声明变量(ES2016中的良好实践)

在ES2016中,我想知道这是否是在if语句中声明变量的最佳实践: ECMA2016 在ES2016之前,使用var 使用ECMA2016,您不能在if块中声明新变量,然后在该块中使用otside。因此,您的变体看起来不错。ES5中的最佳实践是 var x; if (true) { x = 1 } else { x = 0 } 甚至 var x = true ? 1 : 0; 因为在功能范围的顶部定义一个var总是最清晰的(即使您还没有准备好分配任何东西给它),并且只定义一次 对于E

Ecmascript 6 Webpack 2.0检查是否存在摇晃的ES6模块导入

在Webpack2.0(@2.1.0-beta6)中,如果我要导入一个指向不存在的文件的文件,我会得到一个构建时错误 //x.js import { foo } from './y' //y.js export function foo () { return 5 } //x.js import { baz } from './y' //y.js export function foo () { return 5 } 如果从存在的文件导入不存在的导出,则会出现运行时错误 //x.js i

Ecmascript 6 如何为Polymer 2中的纸张切换按钮构建Redux减速机?

我还没有找到一个示例/演示或文档,说明如何通过纸张切换按钮正确处理“更改”或“点击”用户操作 现在,我有一个被调用的带注释的事件侦听器函数,但在该函数中,我似乎无法获得对源元素的引用。我需要新的开/关值和id属性值,以便更新Redux存储中的正确状态。我在视图中有几个纸张切换按钮元素,每个元素对应于Redux存储中的不同属性 我为“”添加了一个事件侦听器,但抛出的事件不包括对html元素的引用。为什么这个事件不说它来自哪里 “event.target”指向保存引发事件的子元素的外部容器。为了了解

Ecmascript 6 SAP Lumira书签即使已保存,也不会加载

因此,我目前正在SAP Lumira Designer中编写一份报告。作为一个模板,我正在使用准备运行的模板“通用分析”。因此,我想要实现的是,用户可以使用报告的OLAP功能,并将其保存以供频繁分析。认识到我想使用书签 因此,我有这个书签图标,这个书签图标链接到一个名为“ACTION\u SHEET\u bookmark”的技术组件,其中存储了创建和管理书签的所有书签逻辑。打开“管理”面板已经非常有效了。我可以给书签命名并保存它。保存的书签也显示在“我的书签”列表中 现在似乎不起作用的是重新

Ecmascript 6 多个范围-我的值在哪个范围内?

有没有聪明的方法来检查我的号码在哪个范围内?我正在使用React with ES6。我有一个不同范围的列表,每个范围定义了它可以拥有的值。例如: if my number is above 0 but less than 0.5, the color should be red if my number is above 0.5 and less than 1, the color should be blue if my number is above 1 and less than 5, t

Ecmascript 6 如何在VisualStudio代码中编写ECMAScript 6?

如何在Visual Studio代码中编写ECMAScript代码??我试图编写jsconfig.json,但不确定如何运行该文件。我甚至尝试更改tasks.json,但即使这样也无济于事 提前感谢, Amala于2016年4月更新: 从最新版本的visual studio代码(撰写本文时为1.0)开始,现在应该不需要jsconfig.json来启用ES6 先前的答案: 在文件系统中创建新文件夹 在VS代码中打开文件夹: 打开文件夹后,单击“新建文件”图标: 调用文件jsconfig.jso

Ecmascript 6 使用关联方法对orm进行续集

使用关联方法对orm进行续集 我正在使用Node和Sequelize ORM开发一个API。正在使用的数据库是MYSQL。我在下面的代码中使用了belongsTo()。 每个用户都有自己喜欢的游戏。使用用户Id获取每个用户最喜爱的游戏。 我得到了一个续集结果,但另一个例外 this.userFavoriteGameModel = require("../entity/favorite_game")(this.database, this.Sequelize); this.gameModel =

Ecmascript 6 对象不支持边缘上的属性或方法“匹配”

我用gulp和babel将ES6转录成ES5。这是我的密码: gulpfile.babel.js package.json B.法律改革委员会 除了IE11和Edge之外,所有浏览器都可以正常工作 IE11有错误: “符号”未定义 边缘有错误: 对象不支持属性或方法“匹配” 我希望将这个插件:[transform-es2015-typeof-symbol]添加到.babelrc文件中可以解决“symbol”是未定义的问题,但不是 我是否缺少babel的一些特殊设置或转换插件?您需要从CDN加载,

Ecmascript 6 无法访问构造函数代码

我将一个类方法作为参数传递给一个新的类实例化,如下所示: class Abc { constructor() { this.a = () => { }; } b = new Def(this.a); } 我在浏览器控制台中获得“无法读取未定义的属性a”。为什么a未定义在b=new Def(this.a)中?在调试时,我发现浏览器抛出了错误,并且从未到达构造函数代码。为什么会这样 注意:我使用的是babel,所以我可以使用类字段,因此b=new De

Ecmascript 6 Vuex变异:使用ES6语法解构状态参数(使用quasar框架)

我有两种不同的语法。我可以使用MapGetter()和mapActions()访问我的getter和我的操作。第一种方法没有解构状态参数,可以工作。第二种方法确实解构了状态,但变异不会变异状态,而getter可以访问状态,并且动作解构上下文没有问题 我不明白为什么。 我是否误用了ES6/vuejs/vuex/quasar Vue.use(Vuex) export default new Vuex.Store({ state: { counter1: 0, counter2:

Ecmascript 6 我应该在ECMAScript 2015中的常量上使用Object.freeze吗?

尽管不能在ECMAScript 2015中分配常量,但如果对象未使用对象冻结,则可以修改该对象。冻结 既然const应该是不可变的,那么添加Object.freeze来冻结对象是否有意义? 大多数用例不要求内容在声明后可以修改。我想到的一个例外是将类分配给常量(例如constmyclass=class MyClass{}),在这种情况下,属性将需要更改(至少对于大多数用途) 我不是说ECMAScript 2015是否应该更改;我想知道是否应该在日常代码中使用Object.freeze来表示con

Ecmascript 6 ES6-对承诺的处理顺序感到困惑

我有这个密码: let p1 = new Promise(function (resolve, reject) { setTimeout(function () { resolve({dogs: ['Fido', 'Spot']}); }, 2000); }); p1.then(function (val) { console.log('first then'); console.dir(val); return _.extend(val

Ecmascript 6 ES2016 Aurelia应用程序之间的代码重用

在处理大量应用程序的过程中,我们达到了需要在这些应用程序之间共享代码的程度 要共享的代码不是我们(实际上是我们的客户)希望的开源代码。因此,我们考虑创建私有jspm包,以便在需要时轻松重用模块。这个想法的灵感来源于此 因此,这是我们在开发过程中真正希望使用的东西,因为要重用的代码还不够稳定 带有链接jspm包的工作流 因此,我们的预期工作流程是使用ES2016code创建不同数量的项目/模块,并从这些项目中创建jspm包。然后将在我们的应用程序中安装并链接这些软件包 运输 据我们所知,在将jsp

Ecmascript 6 ES6语法对象短符号和计算属性

我正在学习react native。我遇到了ES6的这种语法 第一语法 this.state = { refreshing: false, }; 第二语法 this.state = {[refreshing]: false}; 它会执行同样的任务吗?如果这些代码行的任务相同,那么对象简短表示法和计算属性之间的区别是什么?否。它们完全不同: const state = { refreshing: false, }; console.log(state); // { refreshi

Ecmascript 6 如何使用babel节点导入es6模块?

我在为node express应用程序编写快速测试时遇到一些问题。问题是:在服务器的文件中,我使用es6导入来导入自定义类。所以有这样一条线: 从'src/MyClass.js'导入MyClass 我的测试脚本如下所示: npx巴别塔节点srv/server.js 我得到的错误如下: 语法错误:意外标识符导入后的模块名称突出显示 那我为什么要这么做呢?我一直认为,在每次需要测试web应用程序时,不用运行代码传输程序就可以测试它 我已经试着在test命令中放置实验模块,不幸的是,它对我不起作用。我

Ecmascript 6 规范中此注释的含义是什么?

这是什么意思?这是关于Array.prototype.concat方法的,但是在整个规范中,对于一系列方法,都有一次又一次的说明 concat函数故意是泛型的;它不需要这样做 该值必须是数组对象。因此,它可以转移到 用作方法的其他类型的对象。海螺 函数可以成功应用于主机对象 依赖于实现 你能用简单的措辞解释一下吗?也许还可以提供一个例子?这意味着你可以将该方法应用于类似数组的对象,即使它不是数组。其中包括NodeLists和arguments对象 我有时使用此功能将参数对象转换为数组:[].sl

Ecmascript 6 ES6中有条件地指定常数的最佳方法是什么?

我想根据条件为我的常量验证分配一个值 如果this.showRequired()==true 那么它应该是“必需的” 否则,如果this.showError()==true 那么它应该是“error” 我当然知道我可以将它提取到一个函数,或者级联三元运算符,但是第一个看起来代码膨胀,第二个看起来很丑陋 有更好的方法吗?如果还有其他表达式可能?级联三元运算符对我来说很合适: const validation = this.showRequired() ? 'required' : this.sho

Ecmascript 6 如何修复嵌入模板上的任何指令都不使用的属性绑定?

我正试图为设置一个简单的ng,以循环使用angular中的项目列表,但却被卡住了。我已经在中尝试了解决方案(修复缺少的#),但没有成功 EXCEPTION: Template parse errors: Can't bind to 'ng-forOf' since it isn't a known native property ("<div class="ui link cards"> <div class="card" [ERROR ->]*ng-for="#

Ecmascript 6 es6导入&x27;解构';不起作用

嘿,我有这样一个uiTypes.js文件: export default { SELECT_ITEM: 'SELECT_ITEM', DESELECT_ITEM: 'DESELECT_ITEM', TOGGLE_ITEM: 'TOGGLE_ITEM', } import { SELECT_ITEM, DESELECT_ITEM, TOGGLE_ITEM } from './uiTypes'; console.log(SELECT_ITEM) // undefined, 当我尝试像

Ecmascript 6 将ES6编译成模块的网页包

我试图用Webpack将ES6编译成一个文件,但我不明白为什么代码不能像现在这样使用 旁注:这是VueJS的插件 我从一个简单的文件开始,该文件导出一个函数,例如 exports.install = () => { ... } Webpack使用babel loader和babel-preset-es2015来编译它 您可以在中找到网页包配置、源文件和编译文件 我的问题是结果在我的Vue应用程序中不是“必需的”。。。它的核心部分有一些奇怪的东西,需要exports.install语句

Ecmascript 6 带巴别塔transpiler的const示波器

我正在我的reducer中构建react redux应用程序我在使用babel es2015和stage-2使用网页包编译bundle.js后出现了这个错误,我做了一些研究,结果发现const scope是块代码,为什么我会出现双重声明错误? 我的减速机与上面的函数类似 function print(foo){ switch(foo){ case 'test': const bar = 2; console.log(bar+1); break;

Ecmascript 6 访问组件vuejs外部的存储

我有一个用于配置OpenID连接身份验证的文件 export const authMgr = new Oidc.UserManager({ userStore: new Oidc.WebStorageStateStore(), authority: **appsetting.oidc** }) 我想访问我的状态以获取appsetting的值 我这样做: import store from './store' const appsetting = () => store.gett

Ecmascript 6 下划线'的ES6版本;s_uxby()

下划线有一个整洁的函数indexBy,用于映射某个键上的数组。从文件中: _.indexBy(列表、迭代对象、上下文) 给定一个列表和一个iteratee函数,该函数为列表中的每个元素(或属性名)返回一个键,然后返回一个对象,其中包含每个项的索引。就像groupBy一样,但当您知道自己的密钥是唯一的时 使用示例: var stooges = [{name: 'moe', age: 40}, {name: 'larry', age: 50}, {name: 'curly', age: 60}];

Ecmascript 6 ES2015代理:断言代理与目标对象相同

有没有一种简单的方法可以断言对象是代理的目标对象 const o = {}; const p = new Proxy(o, {}); 相等运算符似乎不起作用: 除了对对象进行字符串化和重新划分外,还有什么方法可以验证它们是否引用了相同的对象 示例性用例: 我想比较代理节点和非代理节点。因为我自己创建了代理,所以我知道预期的行为 const nodeList = new Proxy(document.querySelectorAll('div'), { get(target, key) {

Ecmascript 6 hyperHTML:循环中的一般内容始终呈现为完整内容,并将其丢失';s绑定(单击事件)

我在使用hyperHTML时遇到了一些问题(可能只是一些理解上的问题) 当我在循环中包含动态内容时,内容将完全呈现并失去其绑定(如document.body.innerHTML=content,这不是hyperHTML的概念,不是吗?)。请参见下面的示例: function render(){ console.log('render'); bind(document.body)`start: ${[1,2,3]。映射(项=>` 计数按钮${item} `)} 按下按钮2 测试按钮 上次呈现${

Ecmascript 6 如何使用babel或任何其他工具转换javascript导入语句

我对ES6还不熟悉。因此,我有如下困难: 我写了classTopoPlaneClass.js: 导出默认类拓扑平面类{ } 并将{TopoPlaneClass}导入3D.js文件,如下所示 import {TopoPlaneClass} from "./topo/TopoPlaneClass.js"; 像TopoPlaneClass.js文件一样,我有很多文件 为了编译它,我使用了如下方法:npm-run-build package.json文件: "scrip

Ecmascript 6 如何使用map(ES6)返回函数列表?(ES6)

如何使用map返回此输出 get funcone(){返回this.Form.get(funcone”);} get functwo(){返回this.Form.get(“functwo”);} get-Functree(){返回this.Form.get(“Functree”);} get funcfour(){返回this.Form.get(“funcfour”);} 您可能希望将这些函数定义为某个对象或类的getter。让我们假设它是一个类 该语法无法工作-它创建一个值getter,而不

Ecmascript 6 条带-引用错误:未定义require

我似乎无法将服务器端stripe.js npm包导入到一个Lit HTML PWA中 我得到: import 'stripe'; 如果我尝试: ReferenceError: require is not defined 我正在学习vanilla JS,所以不确定我做错了什么。条带节点用于服务器端,而不是用于客户端。您需要使用或收集卡的详细信息等,然后使用条带节点或其中一个服务器端来处理这些部件。您是否使用此处记录的“NPM安装条带-保存”从NPM正确安装了软件包:是的,安装正确您是否尝试过

Ecmascript 6 在指定位置安装SystemJs插件

当我尝试使用import text from./some-text.txt导入文本文件时!文本'我看到加载程序试图从服务器的根目录获取text.js文件。 这个位置可以不同吗?插件可以安装在jspm上吗?您可以使用系统的基本路径属性更改基本路径: System.basePath = '/path/to/jspm'; 对于任何特定模块,您都可以使用路径属性: System.paths['some-text'] = '/path/to/some/text'; 然后,您可以通过以下操作导入它: i

Ecmascript 6 同构应用程序和浏览器特定代码

我正在构建一个具有webpack、React、ES6和fluxible的同构应用程序,并且遇到了以下关于浏览器特定模块导入的问题 例如,我想使用React组件中的imagesloaded。此操作的代码如下所示: import React, { PropTypes, Component, findDOMNode } from "react"; import imagesLoaded from "imagesloaded"; 但是,很明显,它首先尝试在服务器端进行导入,代码失败得很惨,出现了一个错

Ecmascript 6 理解Babel传输的ES6到ES5代码

Babel传输以下ES6代码 test(){ var list = [ 1, 2, 3 ] var [ a, , b ] = list [ b, a ] = [ a, b ] } 进入这个 function test() { var list = [1, 2, 3]; var _list = list[(b, a)] = [a, b]; var _list2 = _slicedToArray(_list, 3);

Ecmascript 6 ECMAScript 5.1和6规范类型值

我正在读这本书,但我被以下句子困住了: 规范类型值是规范人工制品,不一定对应于ECMAScript实现中的任何特定实体 如果它们不一定对应于任何特定实体,它们对应什么?我的意思是规范类型值属于一组规范类型值(显然),那么这句话想说什么呢?ECMAScript规范从脚本在一致性环境中执行的角度描述了语言的行为。它没有描述应该如何实现该环境,只是描述了在给定一组输入的情况下,在该环境中运行的脚本应该如何工作 这句话的第一部分对上下文很重要: 规范类型对应于算法中用于描述ECMAScript语言结构和

Ecmascript 6 如何翻译为antlr4语法ObjectLiteral[Yield]?

我试图从以下内容翻译es6语法: 及 我的问题是,许多声明包含如下内容: ObjectLiteral[Yield] : { } { PropertyDefinitionList[?Yield] } { PropertyDefinitionList[?Yield] , } 我想知道前面几行是否有antlr4的翻译。一种方法是遵循规范章节中的定义。也就是说,左侧有一个参数的产品是两个无参数产品的缩写,一个用于参数的每个可能“设置” 比如说, ObjectLiteral[Yield] :

Ecmascript 6 在WebStorm中进行JS导入有捷径吗?

我花了很多时间编写JS导入。看起来WebStorm应该可以帮助我,但我找不到任何捷径。也许某个地方有一个插件…有一个“缺少导入语句”检查,它有一个快速修复程序(可在Alt+Enter上找到)。类似的检查适用于require()。请参阅)有一个“缺少导入声明”检查,该检查具有快速修复功能(可在Alt+Enter上找到)。类似的检查适用于require()。(见)

Ecmascript 6 运行esdoc时出错

要生成文档,我想使用esdoc esdoc-c esdoc.json esdoc.json ./src/index.js 但它表明 \node_modules\esdoc\out\src\ESDoc.js:121 results.push(...temp.results); ^^^ SyntaxError: Unexpected token ... at exports.runInThisContext (vm.js:53:16) at Module._com

Ecmascript 6 使用ES2015和x2B进行Karma/Mocha单元测试;在不启动应用程序的情况下进行预处理

我有一个现有的FrontJS应用程序,没有任何单元测试。实际上,它并不特别适合所有要进行单元测试的源(没有依赖注入,单元中没有解耦,DOM操作与逻辑严重混合,等等),但一些文件(ES2015模块)现在可以进行测试 我决定使用Karma/Mocha/Chai,我已经有了一个独立的Karma测试,它可以与以下配置一起工作 module.exports=函数(配置){ config.set({ 基本路径:“”, 框架:[ “摩卡”, "柴",, ], singleRun:是的, 档案:[ “node

Ecmascript 6 控制台日志减少数组只返回最后一个值

为了在js中尝试reduce,我尝试使用它将两个数组值相加。我知道很多不使用reduce的方法,我也认为使用reduce可以做到这一点,但问题是:当控制台记录reduced数组时,我只得到最后一个reduced值,我不知道为什么 let dblArray = [ [1, 2, 3], [4, 5, 6] ] let arr = dblArray[0].reduce((newArr, iter, index) => { // this returns 5, 7,

Ecmascript 6 Vue原型MyModule并将范围设置为Vue

当我将Vue扩展到 import api from '@/js/api' Vue.prototype.$api = api 在我的api中,如果我默认导出函数,我可以通过此访问Vue实例 //api.js import Vue from 'vue' export default function () { console.log('default export', this) //=> Vue } 我必须通过Vue.prototype.$api() 现在,我想扩展我的ap

Ecmascript 6 运行程序后获取无效的正则表达式标志

我正在freeCodeCamp上练习ES6。目前,我正在解决一个与主题模板文本相关的问题。问题陈述如下 使用带反标记的模板文字语法来显示结果对象失败数组的每个条目。每个条目都应该包装在带有class属性text warning的li元素中,并在resultDisplayArray中列出 执行代码后,除了一个测试用例外,所有测试用例都通过了 使用了模板字符串 我得到了错误 无效的正则表达式标志 请看下面的代码,告诉我哪里做错了 const result = { success: ["max-l

Ecmascript 6 “导出默认值”是否阻止我们使用命名参数?

TypeError:对象(…)不是函数 所以,要明确的是,我从一个文件导出,然后导入到同一应用程序中的其他文件中 但是,如果我在不导出的情况下执行此操作,也就是说,每次手动将函数()定义/表达式包含在同一个文件中,那么它就会正常工作 我还尝试了导出功能 只有在同一个文件中有一个“普通”的函数()定义时,它才会起作用。那么…怎么回事?为什么我不能将其与导出默认值一起使用 TL;DR:改用导出默认函数fetchService(){} 请注意,TypeError:对象不是函数。在我看来,这听起来像是你

Ecmascript 6 仅准备就绪错误和es6错误中的常量

我在试图运行的脚本中收到只读错误 我正在尝试学习const和新的es6,我不得不承认这是非常简单的,但在这种情况下,我不能100%确定这就是问题所在 这是我的密码: $(() => { const containerImage = document.querySelector( '.images' ); const getPictures = () => { $.ajax({url: "https:myurl/photos.json", success

Ecmascript 6 其他文件中类的VSCode和jsDoc定义

我对Intellisense的工作原理非常困惑——有时它是“automagic”,有时我永远无法让它工作 下面是一个我无法让它工作的例子: //item.js 导出默认类项目{ /** *创建一个项目 *@param{string}键入项目类型 */ 构造函数(类型){ this.type=type; } /** *记录此项目的类型 */ 输出类型(){ console.log(this.type); } } //itemlist.js 从“./Item”导入项目; 导出默认类ItemList

Ecmascript 6 lambda表达式的返回值

我很难理解第14行的返回值。我的问题是关于:fn(acc),x在一行中。怎么可能把它写在块中呢?比如:{return fn(acc),x}??当然不行。有人能把它写成块代码而不是一行代码吗 1 const scream = str => str.toUpperCase() 2 const exclaim = str => `${str}!` 3 const repeat = str => `${str} ${str}` 4 5 const string = 'Hel

  1    2   3   4   5   6  ... 下一页 最后一页 共 9 页