Babel 6 CLI:意外的令牌导出?

我试图通过它的CLI使用babel-node运行Babel,但我不断收到Unexpected token export错误。 我明白巴别塔6是关于插件,我需要通过.babelrc设置插件,但它似乎不能正常工作。

所以这是我的问题:

  • 我应该使用syntax-export-extensions插件吗? 我也尝试使用替代方法, 通过package.json设置插件,但仍然没有运气。
  • 另外,Babel 6的CLI是否有全局的.babelrc选项? 如果我必须为每个需要它的项目安装插件,这似乎很乏味…

对于那些对我想出口的东西感到好奇的人,那么这里就是这个class级:

 '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; 

最简单的方法就是使用预设

首先让我们安装我们的依赖关系:

 $ npm install --save-dev babel-cli babel-preset-es2015 

然后将一个build脚本添加到运行Babel的package.json中:(这很重要,因为它将使用本地版本的babel-cli而不是全局安装的版本)

 "build": "babel input.js" 

你的package.json应该是这样的:

 { "name": "my-module", "devDependencies": { "babel-cli": "^6.xx", "babel-preset-es2015": "^6.xx" }, "scripts": { "build": "babel input.js -o compiled.js" } } 

最后你想更新你的本地.babelrc像这样:

 { "presets": ["es2015"] } 

然后你运行npm run build ,你就可以开始了。

另外,Babel 6的CLI是否有全局的.babelrc选项? 如果我必须为每个需要它的项目安装插件,这似乎很乏味…

这是一个坏主意,因为这意味着如果不更新每一个项目代码,就不能更新它。 拥有本地版本意味着这种潜在的错误不太可能发生。

我收到了同样的错误,但我的webpack / babelconfiguration看起来是正确的。 通过试验和错误,我用export default myFunction取代了export myFunction ,错误得到解决。


后来,我意识到正确的出口方式是export {myFunction} 。 我实现了它,一切正常。