所有 babel 模块/插件均位于最新版本的 babel v6 上。
Mocha 版本为 v4.0.1。
Setup:
// .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
因此,当我运行测试套件时,我仍然得到:错误堆栈跟踪 https://i.stack.imgur.com/0xZxB.png.
我不得不想象这与 babel-register 和 syntax-dynamic-import 不能正常工作有关。因为当我在 webpack 中将它与 babel-loader 一起使用时,我在转译时没有遇到任何语法错误。
Satyajit Sahoo 在 babeljs slack 上的这个回答为我澄清了事情:
syntax-dynamic-import
只会启用babylon中的语法,这意味着babylon可以解析代码而不会出现语法错误。代码import(...)
仍然存在,哪个节点不理解,你仍然需要转译它。dynamic-import-node
转译import(...)
to require
哪个节点能理解。在客户端,转译步骤不是必需的,因为 Webpack 理解语法并进行捆绑。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)