[Bug]:版本更新后找不到模块'@ngrx/effects/testing'
[Bug]: Cannot find module '@ngrx/effects/testing' after version updates
我将项目从版本 25 迁移到版本 27,但找不到模块“@ngrx/effects/testing”。在我的例子中,项目中的 baseUrl 设置为“./src”。在其他项目中,baseUrl 为“.”。同样开玩笑,angular,ngrx 测试 运行 没有问题。也许需要一些额外的 jest 配置?
这是我收到的消息:
Cannot find module '@ngrx/store/testing' from 'src/app/app.component.spec.ts'.
来自 package.json 的一些依赖项:
"dependencies": {
"@angular/animations": "13.0.2",
"@angular/common": "13.0.2",
"@angular/core": "13.0.2",
"@angular/forms": "13.0.2",
"@angular/localize": "^13.0.2",
"@angular/platform-browser": "13.0.2",
...
"@ngrx/effects": "13.0.1",
"@ngrx/entity": "13.0.1",
"@ngrx/store": "13.0.1",
}
"devDependencies": {
"@types/jest": "27.0.3",
"jest": "^27.4.3",
"jest-junit": "13.0.0",
"jest-marbles": "3.0.1",
"jest-preset-angular": "^11.0.1",
...
}
BaseUrl 在 tsconfig.json.
中设置为“./src”
{
"compileOnSave": false,
"compilerOptions": {
"skipLibCheck": true,
"resolveJsonModule": true,
"baseUrl": "./src",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"downlevelIteration": true,
"experimentalDecorators": true,
"moduleResolution": "node",
"importHelpers": true,
"target": "es2015",
"module": "es2020",
"esModuleInterop": true,
"lib": [
"es2018",
"dom"
]
}
}
这是最有趣的配置:
"jest": {
"preset": "jest-preset-angular",
"setupFilesAfterEnv": [
"<rootDir>/setupJest.ts"
],
"moduleDirectories": [
"node_modules",
"src"
]
}
更新:此错误已在 v13.0.2 中解决
这是一个已知问题,已在 https://github.com/ngrx/platform/issues/3248 中解决,将包含在下一版本的 ngrx 中。
在那之前你可以安装夜间版本,https://ngrx.io/guide/nightlies
我将项目从版本 25 迁移到版本 27,但找不到模块“@ngrx/effects/testing”。在我的例子中,项目中的 baseUrl 设置为“./src”。在其他项目中,baseUrl 为“.”。同样开玩笑,angular,ngrx 测试 运行 没有问题。也许需要一些额外的 jest 配置?
这是我收到的消息:
Cannot find module '@ngrx/store/testing' from 'src/app/app.component.spec.ts'.
来自 package.json 的一些依赖项:
"dependencies": {
"@angular/animations": "13.0.2",
"@angular/common": "13.0.2",
"@angular/core": "13.0.2",
"@angular/forms": "13.0.2",
"@angular/localize": "^13.0.2",
"@angular/platform-browser": "13.0.2",
...
"@ngrx/effects": "13.0.1",
"@ngrx/entity": "13.0.1",
"@ngrx/store": "13.0.1",
}
"devDependencies": {
"@types/jest": "27.0.3",
"jest": "^27.4.3",
"jest-junit": "13.0.0",
"jest-marbles": "3.0.1",
"jest-preset-angular": "^11.0.1",
...
}
BaseUrl 在 tsconfig.json.
中设置为“./src”{
"compileOnSave": false,
"compilerOptions": {
"skipLibCheck": true,
"resolveJsonModule": true,
"baseUrl": "./src",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"downlevelIteration": true,
"experimentalDecorators": true,
"moduleResolution": "node",
"importHelpers": true,
"target": "es2015",
"module": "es2020",
"esModuleInterop": true,
"lib": [
"es2018",
"dom"
]
}
}
这是最有趣的配置:
"jest": {
"preset": "jest-preset-angular",
"setupFilesAfterEnv": [
"<rootDir>/setupJest.ts"
],
"moduleDirectories": [
"node_modules",
"src"
]
}
更新:此错误已在 v13.0.2 中解决
这是一个已知问题,已在 https://github.com/ngrx/platform/issues/3248 中解决,将包含在下一版本的 ngrx 中。
在那之前你可以安装夜间版本,https://ngrx.io/guide/nightlies