所有babel模块/插件都在最新版本的babel v6上。 摩卡在v4.0.1上。
设置:
// .babelrc
{
presets: [
"stage-3",
[
"env",
{
"targets": {
"browsers": [
"last 2 versions"
],
"node": "current"
}
}
]
"react"
],
plugins: ["transform-runtime", "syntax-dynamic-import"]
}
// mocha.opts
--recursive
--reporter progress
--require babel-polyfill
--require babel-register
--timeout 20000
所以当我运行我的测试套件时,我仍然得到: error stack trace
我不得不想象它与babel-register和syntax-dynamic-import无法正确协作有关。因为当我在webpack中使用babel-loader时,我不会在transile上遇到任何语法错误。
答案 0 :(得分:4)
Satyajit Sahoo对babeljs松弛的回答为我解决了问题:
syntax-dynamic-import
只会启用babylon中的语法,这意味着它可以解析代码而不会出现语法错误。代码import(...)
仍然存在,哪个节点无法理解,您仍然需要对其进行转换。dynamic-import-node
将节点理解的import(...)
转换为require
。在客户端上,由于Webpack了解语法并进行捆绑,因此不必进行转换步骤。