我正在处理一个项目,该项目已经使用了不推荐使用的typings方法,并且我现在转而使用@types方法。
目前我们在项目的根目录中有一个typings.json文件,如下所示:
{
"globalDependencies": {
"angular": "registry:dt/angular#1.5.0+20161101124950",
"angular-cookies": "registry:dt/angular-cookies#1.4.0+20160317120654",
"angular-material": "registry:dt/angular-material#1.1.0-rc5.0+20161208205836",
"angular-resource": "registry:dt/angular-resource#1.5.0+20160914132003",
"angular-translate": "registry:dt/angular-translate#2.4.0+20160729132354",
"d3": "registry:dt/d3#0.0.0+20160907005744",
"jquery": "registry:dt/jquery#1.10.0+20160929162922",
"lodash": "registry:dt/lodash#4.14.0+20161110215204",
"moment": "registry:dt/moment#2.11.1+20161010105546",
"require": "registry:dt/require#2.1.20+20160919185614"
},
"resolution": "src/client/typings",
"dependencies": {
"angular-local-storage": "registry:dt/angular-local-storage#0.1.5+20160726182927",
"angular-ui-router": "registry:dt/angular-ui-router#1.1.5+20161222093745",
"requirejs": "registry:npm/requirejs#2.2.0+20160319062357"
}
}
正如您可以清楚地看到的,这些目前作为全局安装,并且出现在我们的目录结构中的src/client/typings
文件夹中。
我已经可以看到我的node_modules下面有一个@types文件夹,其中包含我在这个typings.json文件中列出的部分内容。
在我们的tsconfig.json文件中,我们有一个包含配置部分:
"include": [
"./typings/index.d.ts",
"./app/**/*.module.ts",
"./app/**/*.run.ts",
"./app/**/*.routes.ts",
"./app/**/*.enum.ts",
"./app/**/*.controller.ts",
"./app/**/*.model.ts",
"./app/**/*.directive.ts",
"./app/**/*.filter.ts",
"./app/**/*.service.ts",
"./app/interfaces/**/*.ts"
],
我已经注释了./typings/index.d.ts
,以确保没有任何旧版本(不在@types文件夹中)被拉入。
现在,当我查看某个angularjs代码的.ts文件时,我发现角度对象不再被解析了:
阅读完之后,我可以在文件中添加导入来解决此问题(例如import * as angular from 'angular'
),但这意味着我需要添加到包含任何角度代码的每个.ts文件中
是否有一种简单\推荐的方法可以在我的项目中将角度参考设置为全局,或者最佳做法是在需要的所有文件中添加这些细粒度的导入?
由于