2017-08-25 83 views
0

我的應用程序的結構使用來自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" 
    ] 
} 

大家有這方面相對進口來自外部的依賴解決的建議?

回答

0

經過調查,我發現我的配置文件中的transformIgnorePatterns不正確。要解決我應該改變這種

"transformIgnorePatterns": [ 
    "node_modules/(?!core-pr/src)" 
], 

"transformIgnorePatterns": [ 
    "node_modules/core-pr/node_modules/" 
],