Angular11:为什么编译器在编译过程中找不到“GeolocationPosition”?“找不到名称‘GeolocationPosition’”

为什么 angular 编译器找不到GeolocationPositionand GeolocationPositionError?VSC 不会出错,只有在编译过程中才会出错。

Error: src/app/modules/shared/services/position.service.ts:10:46 - error TS2304: Cannot find name 'GeolocationPosition'.

10   private positionSource = new ReplaySubject<GeolocationPosition>(1);

我通过any输入类型来解决这个问题,但我只是好奇为什么 Angular 会给我这个错误以及我如何解决这个问题。

我已经尝试了不同的编译器目标 ( es5, es6, es2018) 但没有运气。已经安装@types/core-js但也没有任何运气。是否有我遗漏的 @types 模块?

这是我当前的 tsconfig.json

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "forceConsistentCasingInFileNames": true,
    "strict": true,
    "noImplicitReturns": true,
    "noFallthroughCasesInSwitch": true,
    "sourceMap": true,
    "declaration": false,
    "downlevelIteration": true,
    "experimentalDecorators": true,
    "moduleResolution": "node",
    "importHelpers": true,
    "target": "es5",
    "module": "es2020",
    "lib": [
      "es2018",
      "dom"
    ]
  },
  "angularCompilerOptions": {
    "strictInjectionParameters": true,
    "strictInputAccessModifiers": true,
    "strictTemplates": true
  }
}

回答

在打字稿 4.0.x 中,这种类型被称为Position. 在打字稿 4.1.x 中,它被重命名为GeolocationPosition.

我想您会发现您的 VS Code 正在使用其内置版本的打字稿,而您的项目正在使用早期版本。

修理:

npm install --save-dev typescript@4.1.2


以上是Angular11:为什么编译器在编译过程中找不到“GeolocationPosition”?“找不到名称‘GeolocationPosition’”的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>