Babel 6 CLI:意外的令牌导出

Babel 6 CLI: Unexpected token export?

本文关键字:令牌 意外 CLI Babel      更新时间:2023-09-26

我试图使用babel-node通过它的CLI运行Babel,但我一直收到Unexpected token export错误。我知道Babel 6是关于插件的,我需要通过.babelrc设置插件,但它似乎无法正常工作。

以下是我的问题:

  • 我应该使用语法导出扩展插件吗?我也尝试过使用另一种方法,即通过package.json设置插件,但仍然没有成功
  • 此外,Babel 6的CLI是否有全局.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;

最简单的入门方法是使用预设

首先让我们安装我们的依赖项:

$ 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是否有global.babelrc选项?如果我必须为每个需要它的项目安装插件,这似乎很乏味…

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

我收到了同样的错误,但我的webpack/babel配置看起来是正确的。通过反复试验,我用export default myFunction替换了export myFunction,错误得到了解决。


后来,我意识到正确的导出方式是export {myFunction}。我实施了它,一切都很好。