我已经安装了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
这对我来说很好:
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
我有一个用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
我在谷歌上搜索到任何现有的ES-6到ES-5 transpiler。我在那里找到了。我只是试着把它嵌入到一个页面上,发现它工作得很好
然后我好奇地想知道traceur编译器实际上是如何工作的。然后我去了解了库的源代码,花了我相当长的时间来理解库的内部实现
我相信,如果我得到一些工具或某种机制,为ES-6脚本的一些示例输入显示等效的ES-5输出,我将有助于理解traceur编译器的工作。对我来说,了解工作环境会容易得多
例如,假设下面是示例ES-6代码
class Greeter {
我试图弄明白如何告诉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
在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
在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
我还没有找到一个示例/演示或文档,说明如何通过纸张切换按钮正确处理“更改”或“点击”用户操作
现在,我有一个被调用的带注释的事件侦听器函数,但在该函数中,我似乎无法获得对源元素的引用。我需要新的开/关值和id属性值,以便更新Redux存储中的正确状态。我在视图中有几个纸张切换按钮元素,每个元素对应于Redux存储中的不同属性
我为“”添加了一个事件侦听器,但抛出的事件不包括对html元素的引用。为什么这个事件不说它来自哪里
“event.target”指向保存引发事件的子元素的外部容器。为了了解
因此,我目前正在SAP Lumira Designer中编写一份报告。作为一个模板,我正在使用准备运行的模板“通用分析”。因此,我想要实现的是,用户可以使用报告的OLAP功能,并将其保存以供频繁分析。认识到我想使用书签
因此,我有这个书签图标,这个书签图标链接到一个名为“ACTION\u SHEET\u bookmark”的技术组件,其中存储了创建和管理书签的所有书签逻辑。打开“管理”面板已经非常有效了。我可以给书签命名并保存它。保存的书签也显示在“我的书签”列表中
现在似乎不起作用的是重新
有没有聪明的方法来检查我的号码在哪个范围内?我正在使用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
如何在Visual Studio代码中编写ECMAScript代码??我试图编写jsconfig.json,但不确定如何运行该文件。我甚至尝试更改tasks.json,但即使这样也无济于事
提前感谢,
Amala于2016年4月更新:
从最新版本的visual studio代码(撰写本文时为1.0)开始,现在应该不需要jsconfig.json来启用ES6
先前的答案:
在文件系统中创建新文件夹
在VS代码中打开文件夹:
打开文件夹后,单击“新建文件”图标:
调用文件jsconfig.jso
使用关联方法对orm进行续集
我正在使用Node和Sequelize ORM开发一个API。正在使用的数据库是MYSQL。我在下面的代码中使用了belongsTo()。
每个用户都有自己喜欢的游戏。使用用户Id获取每个用户最喜爱的游戏。
我得到了一个续集结果,但另一个例外
this.userFavoriteGameModel = require("../entity/favorite_game")(this.database, this.Sequelize);
this.gameModel =
我用gulp和babel将ES6转录成ES5。这是我的密码:
gulpfile.babel.js
package.json
B.法律改革委员会
除了IE11和Edge之外,所有浏览器都可以正常工作
IE11有错误:
“符号”未定义
边缘有错误:
对象不支持属性或方法“匹配”
我希望将这个插件:[transform-es2015-typeof-symbol]添加到.babelrc文件中可以解决“symbol”是未定义的问题,但不是
我是否缺少babel的一些特殊设置或转换插件?您需要从CDN加载,
我将一个类方法作为参数传递给一个新的类实例化,如下所示:
class Abc {
constructor() {
this.a = () => { };
}
b = new Def(this.a);
}
我在浏览器控制台中获得“无法读取未定义的属性a”。为什么a未定义在b=new Def(this.a)中?在调试时,我发现浏览器抛出了错误,并且从未到达构造函数代码。为什么会这样
注意:我使用的是babel,所以我可以使用类字段,因此b=new De
我有两种不同的语法。我可以使用MapGetter()和mapActions()访问我的getter和我的操作。第一种方法没有解构状态参数,可以工作。第二种方法确实解构了状态,但变异不会变异状态,而getter可以访问状态,并且动作解构上下文没有问题
我不明白为什么。
我是否误用了ES6/vuejs/vuex/quasar
Vue.use(Vuex)
export default new Vuex.Store({
state: {
counter1: 0,
counter2:
尽管不能在ECMAScript 2015中分配常量,但如果对象未使用对象冻结,则可以修改该对象。冻结
既然const应该是不可变的,那么添加Object.freeze来冻结对象是否有意义?
大多数用例不要求内容在声明后可以修改。我想到的一个例外是将类分配给常量(例如constmyclass=class MyClass{}),在这种情况下,属性将需要更改(至少对于大多数用途)
我不是说ECMAScript 2015是否应该更改;我想知道是否应该在日常代码中使用Object.freeze来表示con
我有这个密码:
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
在处理大量应用程序的过程中,我们达到了需要在这些应用程序之间共享代码的程度
要共享的代码不是我们(实际上是我们的客户)希望的开源代码。因此,我们考虑创建私有jspm包,以便在需要时轻松重用模块。这个想法的灵感来源于此
因此,这是我们在开发过程中真正希望使用的东西,因为要重用的代码还不够稳定
带有链接jspm包的工作流
因此,我们的预期工作流程是使用ES2016code创建不同数量的项目/模块,并从这些项目中创建jspm包。然后将在我们的应用程序中安装并链接这些软件包
运输
据我们所知,在将jsp
我正在学习react native。我遇到了ES6的这种语法
第一语法
this.state = {
refreshing: false,
};
第二语法
this.state = {[refreshing]: false};
它会执行同样的任务吗?如果这些代码行的任务相同,那么对象简短表示法和计算属性之间的区别是什么?否。它们完全不同:
const state = {
refreshing: false,
};
console.log(state); // { refreshi
我在为node express应用程序编写快速测试时遇到一些问题。问题是:在服务器的文件中,我使用es6导入来导入自定义类。所以有这样一条线:
从'src/MyClass.js'导入MyClass
我的测试脚本如下所示:
npx巴别塔节点srv/server.js
我得到的错误如下:
语法错误:意外标识符导入后的模块名称突出显示
那我为什么要这么做呢?我一直认为,在每次需要测试web应用程序时,不用运行代码传输程序就可以测试它
我已经试着在test命令中放置实验模块,不幸的是,它对我不起作用。我
这是什么意思?这是关于Array.prototype.concat方法的,但是在整个规范中,对于一系列方法,都有一次又一次的说明
concat函数故意是泛型的;它不需要这样做
该值必须是数组对象。因此,它可以转移到
用作方法的其他类型的对象。海螺
函数可以成功应用于主机对象
依赖于实现
你能用简单的措辞解释一下吗?也许还可以提供一个例子?这意味着你可以将该方法应用于类似数组的对象,即使它不是数组。其中包括NodeLists和arguments对象
我有时使用此功能将参数对象转换为数组:[].sl
我想根据条件为我的常量验证分配一个值
如果this.showRequired()==true
那么它应该是“必需的”
否则,如果this.showError()==true
那么它应该是“error”
我当然知道我可以将它提取到一个函数,或者级联三元运算符,但是第一个看起来代码膨胀,第二个看起来很丑陋
有更好的方法吗?如果还有其他表达式可能?级联三元运算符对我来说很合适:
const validation = this.showRequired() ? 'required' : this.sho
我正试图为设置一个简单的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="#
嘿,我有这样一个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,
当我尝试像
我试图用Webpack将ES6编译成一个文件,但我不明白为什么代码不能像现在这样使用
旁注:这是VueJS的插件
我从一个简单的文件开始,该文件导出一个函数,例如
exports.install = () => {
...
}
Webpack使用babel loader和babel-preset-es2015来编译它
您可以在中找到网页包配置、源文件和编译文件
我的问题是结果在我的Vue应用程序中不是“必需的”。。。它的核心部分有一些奇怪的东西,需要exports.install语句
我正在我的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;
我有一个用于配置OpenID连接身份验证的文件
export const authMgr = new Oidc.UserManager({
userStore: new Oidc.WebStorageStateStore(),
authority: **appsetting.oidc**
})
我想访问我的状态以获取appsetting的值
我这样做:
import store from './store'
const appsetting = () => store.gett
下划线有一个整洁的函数indexBy,用于映射某个键上的数组。从文件中:
_.indexBy(列表、迭代对象、上下文)
给定一个列表和一个iteratee函数,该函数为列表中的每个元素(或属性名)返回一个键,然后返回一个对象,其中包含每个项的索引。就像groupBy一样,但当您知道自己的密钥是唯一的时
使用示例:
var stooges = [{name: 'moe', age: 40}, {name: 'larry', age: 50}, {name: 'curly', age: 60}];
我试着在babeljs的标签下转换代码-
class aboutController{
constructor(ajaxService){
this.ajaxService = ajaxService;
this.printLog();
}
printLog(){
this.ajaxService.log();
}
static $inject = ["ajaxService"
有没有一种简单的方法可以断言对象是代理的目标对象
const o = {};
const p = new Proxy(o, {});
相等运算符似乎不起作用:
除了对对象进行字符串化和重新划分外,还有什么方法可以验证它们是否引用了相同的对象
示例性用例:
我想比较代理节点和非代理节点。因为我自己创建了代理,所以我知道预期的行为
const nodeList = new Proxy(document.querySelectorAll('div'), {
get(target, key) {
我在使用hyperHTML时遇到了一些问题(可能只是一些理解上的问题)
当我在循环中包含动态内容时,内容将完全呈现并失去其绑定(如document.body.innerHTML=content,这不是hyperHTML的概念,不是吗?)。请参见下面的示例:
function render(){
console.log('render');
bind(document.body)`start:
${[1,2,3]。映射(项=>`
计数按钮${item}
`)}
按下按钮2
测试按钮
上次呈现${
我对ES6还不熟悉。因此,我有如下困难:
我写了classTopoPlaneClass.js:
导出默认类拓扑平面类{
}
并将{TopoPlaneClass}导入3D.js文件,如下所示
import {TopoPlaneClass} from "./topo/TopoPlaneClass.js";
像TopoPlaneClass.js文件一样,我有很多文件
为了编译它,我使用了如下方法:npm-run-build
package.json文件:
"scrip
如何使用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,而不
我似乎无法将服务器端stripe.js npm包导入到一个Lit HTML PWA中
我得到:
import 'stripe';
如果我尝试:
ReferenceError: require is not defined
我正在学习vanilla JS,所以不确定我做错了什么。条带节点用于服务器端,而不是用于客户端。您需要使用或收集卡的详细信息等,然后使用条带节点或其中一个服务器端来处理这些部件。您是否使用此处记录的“NPM安装条带-保存”从NPM正确安装了软件包:是的,安装正确您是否尝试过
当我尝试使用import text from./some-text.txt导入文本文件时!文本'我看到加载程序试图从服务器的根目录获取text.js文件。
这个位置可以不同吗?插件可以安装在jspm上吗?您可以使用系统的基本路径属性更改基本路径:
System.basePath = '/path/to/jspm';
对于任何特定模块,您都可以使用路径属性:
System.paths['some-text'] = '/path/to/some/text';
然后,您可以通过以下操作导入它:
i
我正在构建一个具有webpack、React、ES6和fluxible的同构应用程序,并且遇到了以下关于浏览器特定模块导入的问题
例如,我想使用React组件中的imagesloaded。此操作的代码如下所示:
import React, { PropTypes, Component, findDOMNode } from "react";
import imagesLoaded from "imagesloaded";
但是,很明显,它首先尝试在服务器端进行导入,代码失败得很惨,出现了一个错
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实现中的任何特定实体
如果它们不一定对应于任何特定实体,它们对应什么?我的意思是规范类型值属于一组规范类型值(显然),那么这句话想说什么呢?ECMAScript规范从脚本在一致性环境中执行的角度描述了语言的行为。它没有描述应该如何实现该环境,只是描述了在给定一组输入的情况下,在该环境中运行的脚本应该如何工作
这句话的第一部分对上下文很重要:
规范类型对应于算法中用于描述ECMAScript语言结构和
我试图从以下内容翻译es6语法:
及
我的问题是,许多声明包含如下内容:
ObjectLiteral[Yield] :
{ }
{ PropertyDefinitionList[?Yield] }
{ PropertyDefinitionList[?Yield] , }
我想知道前面几行是否有antlr4的翻译。一种方法是遵循规范章节中的定义。也就是说,左侧有一个参数的产品是两个无参数产品的缩写,一个用于参数的每个可能“设置”
比如说,
ObjectLiteral[Yield] :
我花了很多时间编写JS导入。看起来WebStorm应该可以帮助我,但我找不到任何捷径。也许某个地方有一个插件…有一个“缺少导入语句”检查,它有一个快速修复程序(可在Alt+Enter上找到)。类似的检查适用于require()。请参阅)有一个“缺少导入声明”检查,该检查具有快速修复功能(可在Alt+Enter上找到)。类似的检查适用于require()。(见)
要生成文档,我想使用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
我有一个现有的FrontJS应用程序,没有任何单元测试。实际上,它并不特别适合所有要进行单元测试的源(没有依赖注入,单元中没有解耦,DOM操作与逻辑严重混合,等等),但一些文件(ES2015模块)现在可以进行测试
我决定使用Karma/Mocha/Chai,我已经有了一个独立的Karma测试,它可以与以下配置一起工作
module.exports=函数(配置){
config.set({
基本路径:“”,
框架:[
“摩卡”,
"柴",,
],
singleRun:是的,
档案:[
“node
为了在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,
当我将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
我正在freeCodeCamp上练习ES6。目前,我正在解决一个与主题模板文本相关的问题。问题陈述如下
使用带反标记的模板文字语法来显示结果对象失败数组的每个条目。每个条目都应该包装在带有class属性text warning的li元素中,并在resultDisplayArray中列出
执行代码后,除了一个测试用例外,所有测试用例都通过了
使用了模板字符串
我得到了错误
无效的正则表达式标志
请看下面的代码,告诉我哪里做错了
const result = {
success: ["max-l
TypeError:对象(…)不是函数
所以,要明确的是,我从一个文件导出,然后导入到同一应用程序中的其他文件中
但是,如果我在不导出的情况下执行此操作,也就是说,每次手动将函数()定义/表达式包含在同一个文件中,那么它就会正常工作
我还尝试了导出功能
只有在同一个文件中有一个“普通”的函数()定义时,它才会起作用。那么…怎么回事?为什么我不能将其与导出默认值一起使用 TL;DR:改用导出默认函数fetchService(){}
请注意,TypeError:对象不是函数。在我看来,这听起来像是你
我的Babel file watcher上的PhpStorm中存在以下编译错误:
cmd.exe /D /C call "C:/Program Files/nodejs/babel.cmd" wp-content\plugins\scorch_gutenberg\blocks.js --out-dir dist --presets=es2015
SyntaxError: wp-content/plugins/scorch_gutenberg/blocks.js: Unexpected t
我在试图运行的脚本中收到只读错误
我正在尝试学习const和新的es6,我不得不承认这是非常简单的,但在这种情况下,我不能100%确定这就是问题所在
这是我的密码:
$(() => {
const containerImage = document.querySelector( '.images' );
const getPictures = () => {
$.ajax({url: "https:myurl/photos.json", success
我对Intellisense的工作原理非常困惑——有时它是“automagic”,有时我永远无法让它工作
下面是一个我无法让它工作的例子:
//item.js
导出默认类项目{
/**
*创建一个项目
*@param{string}键入项目类型
*/
构造函数(类型){
this.type=type;
}
/**
*记录此项目的类型
*/
输出类型(){
console.log(this.type);
}
}
//itemlist.js
从“./Item”导入项目;
导出默认类ItemList
我很难理解第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 ...
下一页 最后一页 共 11 页