一个 typescript 项目,升级了所有依赖的 npm 包,并且将 tsconfig.json 中的 module
与 target
从 es2015
改为 es2020
,test 运行测试时出现下面的错误
import { regex } from './regex.js'
^^^^^^
SyntaxError: Cannot use import statement outside a module
1 | import type MdAnchor from 'markdown-it-anchor';
> 2 | import GithubSlugger from 'github-slugger';
| ^
3 |
4 | /**
5 | * Configurable options for [markdown-it-task-lists](https://github.com/revin/markdown-it-task-lists) plugin
at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1316:40)
at Object.<anonymous> (src/presets/option.ts:2:1)
at Object.<anonymous> (src/presets/index.ts:19:1)
at Object.<anonymous> (src/presets/index.spec.ts:3:1)
在 jest.config.js 中 通过 transformIgnorePatterns 忽略 github-slugger 即可解决
transformIgnorePatterns: ['node_modules/(?!github-slugger)/']
参考链接:
使用JavaScript+Jest测试Typescript项目(解决SyntaxError: Cannot use import statement outside a module问题)
– dudu 3周前