iwa*_*shi 9 javascript node.js npm ecmascript-6 babeljs
我正在尝试通过它的CLI运行Babel,babel-node但我一直收到Unexpected token export错误.我知道Babel 6是关于插件的,我需要设置插件,.babelrc但它似乎不能正常工作.
所以这是我的问题:
package.json但仍然没有运气..babelrc选择吗?如果我必须为每个需要它的项目安装插件,这似乎很乏味......对于那些对我想要导出的东西感到好奇的人来说,这里是班级:
'use strict';
class Factorial {
static solve (num) {
if(num === 0) return 1;
else return num * Factorial.solve(num - 1);
}
}
console.log(Factorial.solve(5))
export default Factorial;
Run Code Online (Sandbox Code Playgroud)
Jam*_*yle 16
最简单的入门方法是使用预设.
首先让我们安装我们的依赖项:
$ npm install --save-dev babel-cli babel-preset-es2015
Run Code Online (Sandbox Code Playgroud)
然后在build运行Babel的package.json中添加一个脚本:(这很重要,因为它将使用您的本地版本babel-cli而不是全局安装的版本)
"build": "babel input.js"
Run Code Online (Sandbox Code Playgroud)
你package.json应该看起来像这样:
{
"name": "my-module",
"devDependencies": {
"babel-cli": "^6.x.x",
"babel-preset-es2015": "^6.x.x"
},
"scripts": {
"build": "babel input.js -o compiled.js"
}
}
Run Code Online (Sandbox Code Playgroud)
最后你要.babelrc像这样更新你的本地:
{
"presets": ["es2015"]
}
Run Code Online (Sandbox Code Playgroud)
然后你跑了npm run build,你就准备好了.
另外,Babel 6的CLI有全局.babelrc选项吗?如果我必须为每个需要它的项目安装插件,这似乎很乏味......
这是一个坏主意,因为这意味着如果不更新每一个项目代码,就无法更新它.拥有本地版本意味着不太可能发生这种潜在错误.