我尝试使用babel-node
通过它的CLI运行Babel,但我一直收到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;
答案 0 :(得分:16)
最简单的入门方法是使用预设。
首先让我们安装我们的依赖项:
$ npm install --save-dev babel-cli babel-preset-es2015
然后在运行Babel的package.json中添加一个build
脚本:(这很重要,因为它将使用您本地版本的babel-cli
而不是全局安装的版本)
"build": "babel input.js"
您的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"
}
}
最后,您要更新本地.babelrc
,如下所示:
{
"presets": ["es2015"]
}
然后你运行npm run build
,你就可以了。
另外,Babel 6的CLI有全局.babelrc选项吗?如果我必须为每个需要它的项目安装插件,这似乎很乏味......
这是一个坏主意,因为这意味着如果不更新每一个项目代码,就无法更新它。拥有本地版本意味着不太可能发生这种潜在错误。
答案 1 :(得分:4)
我收到了同样的错误,但我的webpack / babel配置看起来是正确的。通过反复试验,我将export myFunction
替换为export default myFunction
,错误得到了解决。
后来,我意识到正确的导出方式是export {myFunction}
。我实现了它,一切正常。