typescript ./src/polyfills.ts中的错误未找到:错误:无法解析“zone.js/dist/zone”

kpbwa7wx  于 2023-05-19  发布在  TypeScript
关注(0)|答案(5)|浏览(167)

我有一个angular 8,它使用karma/jasmine来运行一些单元测试。我可以通过执行以下命令ng test来运行测试,但我得到以下错误:
./src/polyfills.ts中的错误未找到:错误:无法解析“C:\PrjNET\Elevation3\FW\4.00\Project\Framework\Development\Client\ElevationJS\shell\src”中的“zone. js/dist/zone”,无法解析“C:\PrjNET\Elevation3\FW\4.00\Project\Framework\Development\Client\ElevationJS\shell\src”中的“zone. js/dist/zone”
有谁知道怎么解决吗?

fae0ux8s

fae0ux8s1#

我在我的项目中使用这个命令修复了它:

npm install zone.js@0.11.3 --save

我在使用zone.js@0.8.29时遇到了这个错误。

d8tt03nd

d8tt03nd2#

zone-testing只存在于0.8.19中。请尝试安装最新版本。使用:

npm i zone.js

在我的情况下,上面的命令起了作用。

omtl5h9j

omtl5h9j3#

我发现我在tsconfig.spec.json上的测试配置是错误的。所以我改变了这个:

{
  "extends": "./tsconfig.es5.json",
  "compilerOptions": {
    "outDir": "../out-tsc/spec",
    "module": "commonjs",
    "target": "es6",
    "baseUrl": "",
    "types": [
      "jest",
      "node"
    ]
  },
  "files": [
    "test.ts",
    "polyfills.ts"
  ],
  "include": [
    "**/*.spec.ts",
    "**/*.d.ts"
  ]
}

对此:

{
  "extends": "./tsconfig.es5.json",
  "compilerOptions": {
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "outDir": "../out-tsc/spec",
    "module": "commonjs",
    "types": [
      "jasmine",
      "node"
    ]
  },
  "files": [
    "test.ts",
    "polyfills.ts"
  ],
  "include": [
    "**/*.spec.ts",
    "**/*.d.ts"
  ]
}

错误消失了!

liwlm1x9

liwlm1x94#

变更

zone.js/dist/zone

to

zone.js

至于我,更新版本没有不工作。
我检查了用“ng new project”创建的项目,在“polyfills.ts”文件中,它是
“zone.js”而不是“zone.js/dist/zone”
所以我把它改成了
“zone.js”**,它开始工作了。

**错误:**x1c 0d1x
正确:

tyu7yeag

tyu7yeag5#

所以我在node_modules/core-js中查找reflect文件夹,并在polyfills.js中复制粘贴相同的路径。成功了

import "core-js/es/reflect";
import "core-js/es7/reflect";

import "core-js/es/reflect";

相关问题