Import 导入时出现jest错误:意外的令牌导入
我见过类似的问题,但仍然找不到可行的解决方案 我正在尝试将Jest集成到一个工作项目中,该项目在数百个地方使用导入/导出默认值。以下测试不适用于使用require的Jest:Import 导入时出现jest错误:意外的令牌导入,import,jestjs,Import,Jestjs,我见过类似的问题,但仍然找不到可行的解决方案 我正在尝试将Jest集成到一个工作项目中,该项目在数百个地方使用导入/导出默认值。以下测试不适用于使用require的Jest: const bar = require('../../flows/foo'); test('adds 1 + 2 to equal 3', () => { expect(bar.foobar(1, 2)).toBe(3); }); 当导出为: module.exports = { foobar: foob
const bar = require('../../flows/foo');
test('adds 1 + 2 to equal 3', () => {
expect(bar.foobar(1, 2)).toBe(3);
});
当导出为:
module.exports = {
foobar: foobar,
fizz: fizz
}
但是,我要测试的函数是使用以下方式导出的:
export default {
foobar: foobar,
fizz: fizz
};
因此,当我尝试更新要导入的测试时:
import foobar from '../../flows/foo';
出口:
export default {foobar: foobar};
我得到了错误
SyntaxError: Unexpected token import
您尚未在项目中设置
.babelrc
文件,因此无法进行传输。您需要将ES6+语法(导入
,导出
,等等)传输到浏览器可读的ES5中。所需的一切:
//运行此命令(或npm等效命令)
纱线添加@babel/核心@babel/预设环境
//添加babel.config.js
module.exports={
预设:[
[
“@babel/preset env”,
{
目标:{
节点:“当前”
}
}
]
]
};
Jest会自动拾取它,无需其他配置。我遇到了这个问题,并通过以下方式解决了它: 如果您使用babel传输代码,请记住使用
transform-es2015-modules-commonjs
插件
要使用它,您需要:
npm安装——保存dev babel-plugin-transform-es2015-modules-commonjs
你能找到解决办法吗?
plugins: [
"transform-es2015-modules-commonjs"
]