【问题标题】:Can not find namespace 'angular'找不到命名空间“角度”
【发布时间】:2018-10-25 11:26:59
【问题描述】:

我有一个 Angularjs 1.5.8 和 Angular 5.2.9 的混合 Angular 应用程序。我已按照Upgrading from AngularJS to Angular 的步骤进行操作。它工作得很好。 但是,在我将 Angular 5.2.9 升级到 Angular 6.0.1 后,在ng serve 期间出现错误。

error TS2503: Cannot find namespace 'angular'

正如Upgrading from AngularJS to Angular 中提到的,我已经声明了“角度”

declare var angular: angular.IAngularStatic;

在将 Angular 从 5.2.9 升级到 6.0.1 时,我按照 Angular Update Guide - 5.2 -> 6.0 for Advanced Apps 的步骤进行操作

我该如何解决这个问题?

【问题讨论】:

  • 在 WebStorm 2019.1 中,我在使用 Angular 7 时注意到了同样的错误。正如 Patricio 之前提到的:尝试 npm install --save-dev @types/angular 并将“angular”类型添加到 tsconfig.app.json(应用程序特定的,不是全球的)。 ... "types": [ "angular" ],

标签: angularjs angular angular-cli-v6


【解决方案1】:

试试npm install --save-dev @types/angular

如果没有,请尝试以下方法: 您需要将“角度”类型添加到 tsconfig.json

...
    "types": [
        "angular"
    ],

【讨论】:

  • 我安装了@types/angular 以及与您提到的类似的 tsconfig.json
  • 试试这个 declare var angular: any; 而不是 declare var angular: angular.IAngularStatic;
  • 我试过你的建议,但仍然抛出同样的错误。但是,从 '@types/angular' 导入 {};修复了错误。
  • 我已经安装了@types/angular,但我必须将 "types": ["angular"] 添加到我的 tsconfig.json 文件中。当从 angular 4 升级到 angular 5,从 typescript 2.3.4 升级到 typescript 2.5.2
  • 正如Jaap Reitsma在原帖评论中所说,此更改应在应用程序特定的tsconfig中进行。这就是它对我有用的原因
猜你喜欢
  • 2018-04-06
  • 2017-01-01
  • 1970-01-01
  • 2015-06-20
  • 2012-07-14
  • 2011-03-10
  • 2017-08-13
  • 2019-08-31
相关资源
最近更新 更多