【问题标题】:Build errors after updating to Angular 9 and Typescript 3.8.3更新到 Angular 9 和 Typescript 3.8.3 后生成错误
【发布时间】:2020-05-09 12:05:25
【问题描述】:

将我的 WebAPI 项目更新到 Angular 9 和 Typescript 3.8.3 后,我在构建应用程序时遇到错误:

然后我尝试执行一些命令,删除 node_modules 并执行 npm install,我尝试更新我的依赖项,所以我最终得到了 Angular 预览版 (10)。

我仍然有这些错误,我不确定接下来应该怎么做才能解决这个问题。

这里是 tsconfig.json:

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "downlevelIteration": true,
    "module": "es2020",
    "moduleResolution": "node",
    "experimentalDecorators": true,
    "importHelpers": true,
    "target": "es2015",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2018",
      "dom"
    ]
  }
}

什么可能导致这个问题?

编辑 我将 Angular 降级到版本 9,然后删除了 node_modules 并执行了 npm i 命令,但我仍然有错误。 这是我的 package.json 现在

{
  "name": "score-app",
  "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": "^9.1.6",
    "@angular/cdk": "^9.2.3",
    "@angular/common": "^9.1.6",
    "@angular/compiler": "^9.1.6",
    "@angular/core": "^9.1.6",
    "@angular/forms": "^9.1.6",
    "@angular/localize": "^9.1.6",
    "@angular/material": "^9.2.3",
    "@angular/material-moment-adapter": "^9.2.3",
    "@angular/platform-browser": "^9.1.6",
    "@angular/platform-browser-dynamic": "^9.1.6",
    "@angular/router": "^9.1.6",
    "@ng-bootstrap/ng-bootstrap": "^5.3.1",
    "angular-bootstrap-datetimepicker": "^4.0.2",
    "angular-md2": "^6.3.0",
    "bootstrap": "^4.4.1",
    "compressible": "^2.0.18",
    "jquery": "^3.5.1",
    "moment": "^2.25.3",
    "ngx-material-timepicker": "^4.0.2",
    "ngx-tempusdominus-bootstrap": "^1.0.1",
    "ngx-toastr": "^10.2.0",
    "popper.js": "^1.16.1",
    "rxjs": "^6.5.5",
    "tempusdominus-bootstrap-4": "^5.1.2",
    "tempusdominus-core": "^5.0.3",
    "tslib": "^1.11.2",
    "zone.js": "~0.10.2"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^0.901.5",
    "@angular/cli": "^9.1.5",
    "@angular/compiler-cli": "^9.1.6",
    "@angular/language-service": "^9.1.6",
    "@types/jasmine": "^3.3.16",
    "@types/jasminewd2": "^2.0.8",
    "@types/jquery": "^3.3.38",
    "@types/node": "^12.12.38",
    "codelyzer": "^5.1.2",
    "jasmine-core": "~3.4.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~5.0.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-jasmine": "~2.0.1",
    "karma-jasmine-html-reporter": "^1.5.3",
    "protractor": "~5.4.4",
    "ts-node": "~7.0.0",
    "tslint": "~6.1.0",
    "typescript": "^3.8.3"
  }
}

似乎我仍然遇到相同的错误:

【问题讨论】:

  • 您的 package.json 指定 angular 10,而问题是关于 angular 9 ?你是怎么升级的?你关注angular update guide了吗?
  • 是的,我在从 8 升级到 9 时遵循了该指南。然后,在遇到错误后,我执行了一些命令来更新 typescript,更新其他依赖项,并且我可能也将 Angular 更新到了版本 10。
  • 你不应该使用 Angular 10。它还没有准备好用于生产
  • 好的,但是这些错误开始在 Angular 9 上发生。
  • 回滚到 Angular 9,然后开始调试。我已经将 2 个项目从 5 升级到 9。当我遇到错误时,那是因为 node_modules 有旧的依赖项。删除它,运行的npm i 修复了奇怪的错误。不要自己更新 typescript,只运行 ng-cli update 命令,如果仍然有错误,然后返回新错误和更新的 package.json。那么我们可以提供帮助。

标签: angular typescript


【解决方案1】:

我已经设法解决了这个问题。问题是视觉工作室使用了错误版本的打字稿。

只需为 Visual Studio 安装 this version 即可修复它。

【讨论】:

    猜你喜欢
    • 2020-09-21
    • 2020-05-25
    • 1970-01-01
    • 1970-01-01
    • 2020-05-08
    • 2020-05-25
    • 2019-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多