Jac*_*ack 10 babel ecmascript-6 jestjs babel-jest es6-modules
我很高兴使用节点8.6,并打开了实验性的ES6模块选项(--experimental-modules).这使我能够完美地为节点编写简单的ES2015代码,而无需使用babel.
问题是当我尝试使用jest创建一些测试时,它无法抱怨语法错误:"意外的令牌导入".
.babelrc配置如下:
{
"env": {
"test": {
"presets": [
["env", {
"targets": {
"node": "8.6"
}
}]
]
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的jest.config.js如下:
module.exports = {
testMatch: ['/tests/**/*.js', '**/?(*.)test.js'],
}
Run Code Online (Sandbox Code Playgroud)
抛出的错误:
/app/tests/integration/controller/data-provider/Credentials/CredentialsList.action.test.js:2
import { Credentials, AdWordsCredentials } from '../../../../../imports/models/data-provider/Credentials.mjs';
^^^^^^
SyntaxError: Unexpected token import
at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/script_transformer.js:305:17)
at Generator.next (<anonymous>)
at Promise (<anonymous>)
Run Code Online (Sandbox Code Playgroud)
相关套餐:
任何帮助将不胜感激.谢谢 :)
更新:我尝试使用以下命令调用没有babel的jest,没有任何更改: node --experimental-modules node_modules/.bin/jest
Jest 有一个自定义实现require来帮助模拟。不幸的是,这使得 jest 与node --experimental-modules. Babel 可能是通过 jest 使用 ES6 模块的最佳方式。请参阅https://github.com/facebook/jest/issues/4842
| 归档时间: |
|
| 查看次数: |
1596 次 |
| 最近记录: |