找不到模块'路径'在program.d.ts

时间:2018-05-28 11:27:42

标签: angular path angular-cli node-modules

当运行ng服务时,我的代码无法编译并给我这个错误:

  

node_modules/@angular/compiler-cli/src/transformers/program.d.ts(9,23)中的错误:错误TS2307:找不到模块'路径'。

我认为它与我的本地角度版本比我的全球版本更旧版本有关,所以我尝试this solution

但这并没有帮助。现在为了我的代码编译,我必须删除一个&#39 ;;'在我的项目中随机的某个地方,保存项目,添加分号并保存项目。使用这种方法,我的代码编译,我的应用程序工作,但错误仍然存​​在。

2 个答案:

答案 0 :(得分:1)

也有此问题。这是我的解决方案,以防万一有人在大多数建议的在线解决方案的基础上也无法解决该问题(准确地说:我发现的大多数建议解决方案都包含修复“错字”或删除导入项) ,但都没有解决我的情况):

发生此问题时我使用的是Angular 9.1(我不记得是什么原因导致的),将其更新为angular 10.0并更新了我所有的软件包都无法解决问题。

最后,我必须将“节点”添加到“类型”属性中: 文件:src / tsconfig.app.json

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "outDir": "../out-tsc/app",
    "types": ["node"]     <======== added "node" here
  },
  "files": [
    "main.ts",
    "polyfills.ts"
  ],
  "include": [
    "src/**/*.d.ts"
  ]
}

此文件扩展了常规tsconfig.json文件。您还可以在compilerOptions下将“ types”属性添加到父文件,但是最好在应用程序tsconfig的“ types”数组中添加“ node”元素。

答案 1 :(得分:0)

阅读此(https://github.com/angular/angular-cli/issues/9151)后,我意识到我的.ts文件中某处的导入语句错误:

import {Definition} from "@angular/compiler-cli";

但是应该是:

import {Definition} from "path/in/my/src/folder";

我建议在工作区中搜索:“ @ angular / compiler-cli”,并检查该位置是否正确。