【发布时间】:2021-03-29 03:34:32
【问题描述】:
我是 Angular 的新手,过去 3 天找不到解决方案,我使用的是 npm@7.0.1 和 node@v15.0.0,我还在 node 和 npm 的 LTS 版本中降级和测试,我得到了相同的结果错误。
我的 jest.config.js 文件如下:
// For a detailed explanation regarding each configuration property, visit:
// https://jestjs.io/docs/en/configuration.html
const tsconfig = require("./tsconfig.json")
const moduleNameMapper = require("tsconfig-paths-jest")(tsconfig)
module.exports = {
collectCoverage: true,
reporters: [
"default",
[
"jest-junit",
{
"suiteName": "jest tests",
"outputDirectory": ".",
"outputName": "junit.xml",
"uniqueOutputName": "false",
"classNameTemplate": "{classname}-{title}",
"titleTemplate": "{classname}-{title}",
"ancestorSeparator": " › ",
"usePathForSuiteName": "true"
}
]
],
globals: {
'ts-jest': {
diagnostics: {
ignoreCodes: [151001]
},
tsconfig: '<rootDir>/tsconfig.spec.json',
stringifyContentPathRegex: '\\.html$',
astTransformers: [
'jest-preset-angular/build/InlineFilesTransformer',
'jest-preset-angular/build/StripStylesTransformer'
]
}
},
transform: {
'^.+\\.(ts|js|html)$': 'ts-jest',
"^.+\\.js$": "babel-jest"
},
setupFilesAfterEnv: ['<rootDir>/src/setup-jest.ts'],
testEnvironment: 'jest-environment-jsdom-thirteen',
moduleFileExtensions: ['ts', 'html', 'js', 'json'],
moduleNameMapper,
transformIgnorePatterns: ['node_modules/(?!@ngrx)'],
snapshotSerializers: [
'jest-preset-angular/build/AngularSnapshotSerializer.js',
'jest-preset-angular/build/HTMLCommentSerializer.js'
],
};
详细的错误信息如下
ReferenceError: require is not defined
at file:///C:/nad/projekte/a/a-ui/jest.config.js:3:18
at ModuleJob.run (node:internal/modules/esm/module_job:146:23)
at async Loader.import (node:internal/modules/esm/loader:165:24)
at async readConfigFileAndSetRootDir (C:\nad\projekte\a\a-ui\node_modules\jest-config\build\readConfigFileAndSetRootDir.js:126:32)
at async readConfig (C:\nad\projekte\a\a-ui\node_modules\jest-config\build\index.js:217:18)
at async readConfigs (C:\nad\projekte\a\a-ui\node_modules\jest-config\build\index.js:406:26)
at async runCLI (C:\nad\projekte\a\a-ui\node_modules\@jest\core\build\cli\index.js:230:59)
at async Object.run (C:\nad\projekte\a\a-ui\node_modules\jest-cli\build\cli\index.js:163:37)
npm ERR! code 1
npm ERR! path C:\nad\projekte\a\a-ui
npm ERR! command failed
npm ERR! command C:\Windows\system32\cmd.exe /d /s /c jest
【问题讨论】:
-
您是否尝试导入
import tsconfig from "./tsconfig.json"之类的模块而不是const tsconfig = require("./tsconfig.json")?
标签: javascript angular npm jestjs