Reactjs 如何用jest和babel解决进口问题
我正在尝试用Ezyme、jest、create react app、babel和webpack进行一个简单的测试,我可以让Ezyme文档上的示例测试正常工作,但当我尝试使用我自己的组件时,jest通过node_模块中某个文件的导入时,我就出现了一个错误 我得到:Reactjs 如何用jest和babel解决进口问题,reactjs,testing,jestjs,Reactjs,Testing,Jestjs,我正在尝试用Ezyme、jest、create react app、babel和webpack进行一个简单的测试,我可以让Ezyme文档上的示例测试正常工作,但当我尝试使用我自己的组件时,jest通过node_模块中某个文件的导入时,我就出现了一个错误 我得到: ● Test suite failed to run /($PROJECT-PATH)/node_modules/react-feather/dist/icons/message-square.js:7 impor
● Test suite failed to run
/($PROJECT-PATH)/node_modules/react-feather/dist/icons/message-square.js:7
import React, { forwardRef } from 'react';
^^^^^^
SyntaxError: Cannot use import statement outside a module
12 | } from 'react-feather';
13 | import Edit3 from 'react-feather/dist/icons/edit-3';
> 14 | import MDI from '@mdi/react';
| ^
15 | import {
16 | mdiCheckDecagram,
17 | mdiClock,
at ScriptTransformer._transformAndBuildScript (node_modules/@jest/transform/build/ScriptTransformer.js:537:17)
at ScriptTransformer.transform (node_modules/@jest/transform/build/ScriptTransformer.js:579:25)
at Object.<anonymous> (src/components/icons/index.js:14:45)
"jest": {
"setupFilesAfterEnv": [
"<rootDir>src/setupTests.js"
],
"rootDir": "./",
"testRegex": "__tests__/.+\\.test\\.js",
"transform": {
"^.+\\.js?$": "babel-jest"
},
"moduleFileExtensions": ["js"],
"moduleDirectories": [
"node_modules",
"lib"
]
const config = {
presets: ['@babel/preset-env', '@babel/preset-react'],
plugins: [
[
'@babel/plugin-transform-runtime',
{
regenerator: true,
},
],
'@babel/plugin-syntax-dynamic-import',
[
'import',
{
libraryName: 'react-feather',
libraryDirectory: 'dist/icons',
},
'react-feather',
],
],
};
module.exports = config;