使用 @types/angular 作为全局

Using @types/angular as global

我目前正在尝试将我的 angular 1 个应用程序从 typings 更新到 @types

首先我收到以下错误消息:

Identifier 'angular' must be imported from a module

经过一些搜索我发现,angular 不再是全球可访问的。或者至少我没有发现如何...


对于 typingsangular 是全局的,我可以在没有导入或任何东西的情况下使用它。我的问题是,angular 的导入,如下所示:

import * as angular from 'angular';

破坏了我的应用程序:不幸的是 SystemJS 现在正在尝试加载 angular 并且因此当 ui-bootstrap 和其他库加载脚本标签时它不可用。

要解决此问题,我将不得不重写构建管道的很大一部分。所以我再次问:是否有另一种方法可以将 angular 与 TypeScript 2@types 一起使用,并且不会以 require('angular') 结尾?

我找到了答案。这样做,一切都会好起来的。

import * as _angular_ from 'angular';

declare global {
  const angular: typeof _angular_;
}