Jest无法解析模块内的导入令牌
问题描述:
我的应用程序的结构使用来自package.json中独立依赖项的核心代码。 例如,我的单元测试文件在其内部具有一个import
像Jest无法解析模块内的导入令牌
import {SomeComponent} from 'core-pr/base-components/baseComponent';
其中core-pr
位于node_modules/core-pr
目录。 而且baseComponent.ts
文件已成功加载并解析得很好。但是这里面baseComponent.ts
有像
import {Helper} from './baseHelper';
相对依赖,它不能与错误信息来解决 - SyntaxError: Unexpected token import
。
但是,如果我将import {Helper} from './baseHelper'
更换为const ... = require('./baseHelper')
- 它的工作原理。
玩笑设置:
"jest": {
"globals": {
"ts-jest": {
"tsConfigFile": "tsconfig.spec.json"
},
"__TRANSFORM_HTML__": true
},
"preset": "jest-preset-angular",
"setupTestFrameworkScriptFile": "<rootDir>/jest/setupJest.ts",
"transformIgnorePatterns": [
"node_modules/(?!core-pr/src)"
],
"testEnvironment": "jsdom",
"transform": {
"^.+\\.ts$": "<rootDir>/node_modules/ts-jest/preprocessor.js",
".*\\.svg$" : "<rootDir>/jest/transformers/svgTransformer.js"
},
"testRegex": "",
"testMatch": ["<rootDir>/src/**/*.unit.ts"],
"moduleFileExtensions": [
"ts",
"js"
]
}
大家有这方面相对进口来自外部的依赖解决的建议?
答
经过调查,我发现我的配置文件中的transformIgnorePatterns
不正确。要解决我应该改变这种
"transformIgnorePatterns": [
"node_modules/(?!core-pr/src)"
],
到
"transformIgnorePatterns": [
"node_modules/core-pr/node_modules/"
],