Babel 6 - 启用功能的默认参数

时间:2015-11-09 13:55:19

标签: javascript node.js ecmascript-6 babeljs

我有一段代码:

'use strict';

class ArticleModel {

  constructor(options = {}) {
    this.options = options
  }

}

module.exports = ArticleModel

导致错误Unexpected token = - 我不相信Babel正在解析这个问题。需要哪个babel 6插件来解析函数中的默认参数?

编辑1 - 这是我的.babelrc文件

{
  "presets": [
    "es2015",
    "stage-0"
  ]
}

编辑2 - 我没有在与.babelrc相同的目录中运行babel。我正在test/内部运行babel,其结构如下所示:

/app
/test
/test/runner.js < -- this is what calls babel-core/register
.babelrc

我是否需要明确告诉babel-core/register .babelrc在哪里?我假设它为它编制了一个目录。

修改3 - 将babel/register更改为babel-core/register。仍然会遇到同样的问题。

2 个答案:

答案 0 :(得分:5)

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

将以下行添加到.babelrc文件中:

{
  "presets": ["es2015"] 
}

你试过这个吗?

答案 1 :(得分:1)

如何将模块导入测试?从Babel 5升级到6后,当我的测试开始破坏时,我遇到了类似的问题。在我看来,问题是因为导入必须引用导入的lib中的default属性。

这个巴别塔问题的发起者提供了一个很好的例子:https://github.com/babel/babel/issues/2679