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

Javascript Babel 6 CLI:意外的令牌导出?,javascript,node.js,npm,ecmascript-6,babeljs,Javascript,Node.js,Npm,Ecmascript 6,Babeljs,我正在尝试使用Babel节点通过其CLI运行Babel,但我一直收到意外的令牌导出错误。我知道Babel 6是关于插件的,我需要通过.babelrc设置插件,但它似乎不能正常工作 下面是我的问题: 我应该用电脑吗?我也尝试过使用另一种方法,但仍然不走运 此外,Babel 6的CLI是否具有全局.babelrc选项?如果我必须为每一个需要它的项目安装插件,这看起来很乏味 对于那些对我试图导出的内容感到好奇的人,下面是一节课: 'use strict'; class Factorial {

我正在尝试使用
Babel节点
通过其CLI运行Babel,但我一直收到
意外的令牌导出
错误。我知道Babel 6是关于插件的,我需要通过
.babelrc
设置插件,但它似乎不能正常工作

下面是我的问题:

  • 我应该用电脑吗?我也尝试过使用另一种方法,但仍然不走运
  • 此外,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
然后将
build
脚本添加到运行Babel的package.json中:(这很重要,因为它将使用本地版本的
Babel cli
,而不是全局安装的版本)

您的
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"
  }
}
{
  "presets": ["es2015"]
}
最后,您要更新本地
.babelrc
,如下所示:

{
  "name": "my-module",
  "devDependencies": {
    "babel-cli": "^6.x.x",
    "babel-preset-es2015": "^6.x.x"
  },
  "scripts": {
    "build": "babel input.js -o compiled.js"
  }
}
{
  "presets": ["es2015"]
}
然后运行
npm运行build
,就可以开始了

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


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

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



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

FWIW,如果类只有静态方法,就不应该使用它。使用一个对象,或者在本例中,simple只有一个函数。@FelixKling感谢您的提示,我只是习惯于使用类,因为我来自C++/C#/Java背景;)谢谢我意识到预设存在并使用了它,但似乎
import
关键字不起作用?你知道这个问题吗?你的巴贝尔版本可能有问题。有一些早期问题,请尝试更新,如果不起作用,请通过Slack channel获得支持。