即使具有正确的选项,mocha也无法编译ES6

时间:2019-04-18 12:47:10

标签: npm mocha

我想在测试目录上运行mocha。我的测试是用ES6编写的,因此我添加了babel对其进行编译。尽管即使添加了所有必需的模块并在测试目录中添加了mocha.opts文件,我仍然会收到此错误

{ import sinon from 'sinon';                                                                
         ^^^^^

SyntaxError: Unexpected identifier

mocha.opts:

--slow 2000
--timeout 15000
--require @babel/register
--recursive test/src

package.json命令:

"test": "mocha"

模块:

"@babel/cli": "^7.2.3",
"@babel/core": "^7.3.4",
"@babel/plugin-transform-runtime": "^7.3.4",
"@babel/preset-env": "^7.3.4",
"@babel/register": "^7.4.0",
"@babel/runtime": "^7.3.4",

如果有的话,我还在测试目录中添加了一个.babelrc文件

{
  "presets": ["@babel/preset-env"],
  "plugins": [
    [
      "@babel/plugin-transform-runtime",
      {
        "helpers": true,
        "regenerator": true
      }
    ]
  ]
}

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

我遇到了完全相同的问题,而您的问题给了我答案。我的.babelrc文件如下所示:

{
  "presets": ["@babel/preset-env"],
  "comments": false,
  "env": {
    "test": {
      "presets": [
        "@babel/preset-env"
      ]
    },
    // ...Other environment settings...
  },
  "plugins": ["@babel/plugin-transform-runtime"]
}

删除helpers和regenerator参数对我有用。