Babel-node + mocha + babel-istanbul,意外的保留字'import'

时间:2017-08-22 15:08:06

标签: javascript mocha babel istanbul

我正在尝试运行单元测试,但在使用import关键字添加一些新代码时遇到了问题。我以前工作的设置只是一个npm脚本,如下所示:

 "test:unit": "babel-node node_modules/.bin/babel-istanbul cover --config=istanbul.json --dir coverage/unit node_modules/.bin/_mocha -- 'client/components/**/*.spec.unit.js' --require node_modules/ignore-styles --require node_modules/mock-local-storage"

在我的代码中添加了一个导入关键字之前,这几个月工作得很好。现在它抛出错误'Unexpected reserved word',并指向导入。 在webpack服务器上编译时,我的.babelrc工作正常。我以为这会看着.babelrc。以防万一 - 这是.babelrc

{
  "presets": [
    "es2015",
    "react"
  ],
  "plugins": [
    "transform-object-rest-spread",
    "syntax-dynamic-import"
  ]
}

似乎无法找到有效的解决方案。有谁知道如何解决这个错误?谢谢!

1 个答案:

答案 0 :(得分:2)

您可以指定编译器来转换测试套件。

那是--compilers js:babel-core/register

 "test:unit": "babel-node node_modules/.bin/babel-istanbul cover --config=istanbul.json --dir coverage/unit node_modules/.bin/_mocha --compilers js:babel-core/register 'client/components/**/*.spec.unit.js' --require node_modules/ignore-styles --require node_modules/mock-local-storage"

取一条线索here

N.B:而不是node_modules/.bin/_mocha,您只需要_mocha

希望这有帮助!