【发布时间】:2018-03-08 19:28:09
【问题描述】:
我正在使用 Mocha 测试一个用 es6 stage-0 语法编写的 react/webpack/babel 应用程序,其中包括 dynamic imports。 Webpack 编译它没有错误,但是 mocha 在达到动态导入语法时会抛出以下错误:
import('path/to/file').then(...)
^^^^^^
SyntaxError: Unexpected token import
我正在运行的命令是:
$ mocha --compilers js:babel-register src/**/*.test.js
在我的.babelrc 中,我必须关注:
{
"presets": ["es2015", "react", "stage-0"]
}
【问题讨论】:
-
“识别动态导入”不是 Mocha 的工作。 Mocha 在 Node 中运行,而 Node 不支持导入(动态或静态)。 Babel 必须将它们转换为 Node 可以使用的东西。我从经验中知道,正确配置的 Babel 转换静态导入没有问题。我不知道它如何处理动态的。我在Node's documentation 中看不到任何与动态导入等效的直接本机节点。
-
@Louis 但如果我使用 babel 作为编译器(带有 stage-0 预设),它不应该正确处理它吗?
标签: node.js ecmascript-6 mocha.js babeljs