【问题标题】:Angular 7 : "ng serve --aot" fails the after a file changeAngular 7:“ng serve --aot”在文件更改后失败
【发布时间】:2021-04-24 10:17:44
【问题描述】:

"ng serve --aot" 第一次成功,每次修改文件后都失败,出现如下错误

调试失败中的错误。错误表达式:主机不应从 `getSourceFile` 返回重定向源文件 i 「wdm」:编译失败。

重新运行命令再次起作用。

关于“https://github.com/angular/angular-cli/issues/11835”中发布的内容,我尝试将“@angular/compiler-cli”:降级到版本“6.1.1”。它没有帮助。

我的package.json的内容如下,

{
  "name": "matrix-dashboards",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^7.1.4",
    "@angular/cdk": "^7.2.0",
    "@angular/common": "~7.1.0",
    "@angular/compiler": "^7.1.4",
    "@angular/core": "~7.1.0",
    "@angular/forms": "~7.1.0",
    "@angular/material": "^7.2.0",
    "@angular/platform-browser": "~7.1.0",
    "@angular/platform-browser-dynamic": "~7.1.0",
    "@angular/router": "~7.1.0",
    "core-js": "^2.5.4",
    "crypto-js": "^3.1.9-1",
    "font-awesome": "^4.7.0",
    "materialize-css": "^1.0.0",
    "roboto-fontface": "^0.10.0",
    "rxjs": "~6.3.3",
    "tslib": "^1.9.0",
    "zone.js": "~0.8.26"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.11.0",
    "@angular/cli": "~7.1.2",
    "@angular/compiler-cli": "~7.1.0",
    "@angular/language-service": "~7.1.0",
    "@types/node": "~8.9.4",
    "@types/jasmine": "~2.8.8",
    "@types/jasminewd2": "~2.0.3",
    "codelyzer": "~4.5.0",
    "jasmine-core": "~2.99.1",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~3.1.1",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-jasmine": "~1.1.2",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.4.0",
    "ts-node": "~7.0.0",
    "tslint": "~5.11.0",
    "typescript": "~3.1.6"
  }
}

感谢任何帮助,帮助我找到一种方法,让“ng serve --aot”在每次更改文件时正确编译代码。谢谢

【问题讨论】:

    标签: angular


    【解决方案1】:

    我遇到了同样的问题。在与它搏斗了一段时间后,我删除了我的 node_modules 和 package-lock.json 文件,然后我运行了 'npm install' .... 修复了它!祝你好运。

    【讨论】:

    • 在我的情况下,我有一个未导入到所需模块中的组件,在整理后解决了这个问题。多亏了无用的错误信息,它们把我引向了所有错误的方向。
    • @kathikeyanA 您能否提供有关您的解决方案的更多详细信息。谢谢
    【解决方案2】:

    希望这可以帮助其他遇到此类错误的人。

    我发现什么是issue in the official Angular CLI repository 的解决方案。在我的情况下,问题是由用于打字稿的重复输入文件引起的 - check here

    finding the module that was causing the issue 通过故障排除后,我能够修复它。非常感谢该问题的贡献者。

    【讨论】:

      【解决方案3】:

      我在使用 TurfJS 时遇到了同样的错误,package.json:

      "devDependencies": {
        ...
        "@turf/helpers": "^6.1.4",
        "@turf/turf": "^5.1.6",
        ...
      }
      

      不幸的是,@turf/helpers 已经是 @turf/turf 的依赖项,但与 ^6.1.4 的版本不同。

      解决方案:
      我删除了额外的依赖项"@turf/helpers": "^6.1.4",一切都恢复了。因此:Whatch your dependencies,这也可能是所描述错误的原因。

      【讨论】:

      • 我遇到了同样的问题,出于某种原因删除 @turf/helpers 并没有解决问题。我也完全卸载了@turf/turf,重新安装并运行。
      • Turf 本身(或任何子包)不是问题,但版本冲突通常是有问题的。仅卸载和重新安装必要的软件包通常会有所帮助。
      【解决方案4】:

      为了扩展@Hristo Enev 的答案,the "paths" typescript option solution 为我工作。无需运行任何额外的脚本来删除文件。就我而言,我有重复的“源映射”类型,所以我将它添加到我的 tsconfig:

      "paths": { "source-map": ["node_modules/source-map"] }

      【讨论】:

        【解决方案5】:

        对我来说,错误是由以下 npm 依赖引起的:

        "@sentry/types": "^5.0.0"
        

        【讨论】:

          【解决方案6】:

          我需要在 package.json 中降级我的 Typescript 版本,并且在 npm install 之后它起作用了。

          【讨论】:

            猜你喜欢
            • 2020-04-09
            • 1970-01-01
            • 2022-07-15
            • 2017-03-10
            • 2018-02-07
            • 2019-11-01
            • 2017-04-12
            • 2017-07-08
            • 1970-01-01
            相关资源
            最近更新 更多