默认情况下,BabelJS 不会转译 ES6 语法的匿名函数?
By default, BabelJS doesn't transpile anonymous function of ES6 syntax?
我正在使用 Babel 6.1.2
$ babel --version
6.1.2 (babel-core 6.1.2)
当我用匿名函数编译 ES6 代码时,我发现代码根本没有转译为 ECMAScript 5 语法。
$ echo "()=>1" | babel
() => 1;
有人对此有想法吗?谢谢!
找到方法:
安装插件
$ npm install babel-plugin-transform-es2015-arrow-functions
将以下内容添加到 .babelrc
{
"plugins": ["transform-es2015-arrow-functions"]
}
然后就可以了
$ echo "() => 1" | babel --plugins transform-es2015-arrow-functions
(function () {
return 1;
});
来自官方 6.0 发布博文 (https://babeljs.io/blog/2015/10/29/6.0.0/):
由于 Babel 专注于成为 JavaScript 工具平台而不是 ES2015 转译器,我们决定让所有插件都选择加入。这意味着当你安装 Babel 时,它将不再默认转译你的 ES2015 代码。
您将需要插件或预设来实际转换您的代码。
我正在使用 Babel 6.1.2
$ babel --version
6.1.2 (babel-core 6.1.2)
当我用匿名函数编译 ES6 代码时,我发现代码根本没有转译为 ECMAScript 5 语法。
$ echo "()=>1" | babel
() => 1;
有人对此有想法吗?谢谢!
找到方法:
安装插件
$ npm install babel-plugin-transform-es2015-arrow-functions
将以下内容添加到 .babelrc
{
"plugins": ["transform-es2015-arrow-functions"]
}
然后就可以了
$ echo "() => 1" | babel --plugins transform-es2015-arrow-functions
(function () {
return 1;
});
来自官方 6.0 发布博文 (https://babeljs.io/blog/2015/10/29/6.0.0/):
由于 Babel 专注于成为 JavaScript 工具平台而不是 ES2015 转译器,我们决定让所有插件都选择加入。这意味着当你安装 Babel 时,它将不再默认转译你的 ES2015 代码。
您将需要插件或预设来实际转换您的代码。