我很高兴使用 node 8.6 并打开了实验性 ES6 模块选项(--experimental-modules)。这让我可以完美地为 node 编写简单的 ES2015 代码,而无需 babel。
问题是当我尝试用 jest 创建一些测试时,它无法抱怨语法错误:“意外的令牌导入”。
.babelrc 配置如下:
{
"env": {
"test": {
"presets": [
["env", {
"targets": {
"node": "8.6"
}
}]
]
}
}
}
我的 jest.config.js 如下:
module.exports = {
testMatch: ['/tests/**/*.js', '**/?(*.)test.js'],
}
抛出的错误:
/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>)
相关包:
- babel-core@^6.26.0
- 开玩笑@^21.2.1
- babel-jest@^21.2.0
- babel-preset-env@^1.6.0
任何帮助将不胜感激。谢谢 :)
更新:我尝试使用以下命令在没有 babel 的情况下调用 jest,没有任何更改:node --experimental-modules node_modules/.bin/jest