Jest无法解析模块内的导入令牌

问题描述:

我的应用程序的结构使用来自package.json中独立依赖项的核心代码。 例如,我的单元测试文件在其内部具有一个importJest无法解析模块内的导入令牌

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/" 
],