【发布时间】:2016-03-26 15:51:33
【问题描述】:
我在 Visual Studio 代码中的所有输入都收到错误消息 Module "ng" has no exported member
在我添加 angular-ui-router 之前,我的打字工作 100%。我不确定这是否是问题,但我只是在添加后才注意到它。
在我的.d.ts 文件中,angular 本身出现了一个特定错误。
我的tsd.json 看起来像这样
{
"version": "v4",
"repo": "borisyankov/DefinitelyTyped",
"ref": "master",
"path": "typings",
"bundle": "typings/tsd.d.ts",
"installed": {
"angular-material/angular-material.d.ts": {
"commit": "5a8fc5ee71701431e4fdbb80c506e3c13f85a9ff"
},
"jquery/jquery.d.ts": {
"commit": "40c60850ad6c8175a62d5ab48c4e016ea5b3dffe"
},
"angularjs/angular.d.ts": {
"commit": "40c60850ad6c8175a62d5ab48c4e016ea5b3dffe"
},
"angularjs/angular-route.d.ts": {
"commit": "5a8fc5ee71701431e4fdbb80c506e3c13f85a9ff"
},
"angularjs/angular-cookies.d.ts": {
"commit": "5a8fc5ee71701431e4fdbb80c506e3c13f85a9ff"
},
"angularjs/angular-animate.d.ts": {
"commit": "5a8fc5ee71701431e4fdbb80c506e3c13f85a9ff"
},
"angularjs/angular-resource.d.ts": {
"commit": "40c60850ad6c8175a62d5ab48c4e016ea5b3dffe"
},
"angular-ui-router/angular-ui-router.d.ts": {
"commit": "40c60850ad6c8175a62d5ab48c4e016ea5b3dffe"
}
}
}
我有点迷失了我有什么或没有做过什么来搞砸这个。奇怪的是,一切仍然 100% 正常工作。所以我仍然对ng. 进行智能感知,它只是说有错误,每次我构建时,我都会在所有文件上遇到多个错误。
更新
我最终在17 上注释掉import ng = angular;,然后在angular.d.ts 中将ng.auto.IInjectorService; 上173 上的angular.auto.IInjectorService; 更改为angular.auto.IInjectorService;
这意味着 Angular 应用程序中的每个引用现在都使用 angular 而不是 ng ,这并不理想,但现在可以。我很确定这不是“最佳实践”修复。
https://github.com/DefinitelyTyped/DefinitelyTyped/issues/7284
【问题讨论】:
-
只是一个提示 - here 我试图描述我的 UI-Router d.ts 问题
-
@RadimKöhler 那没用。 Angular ui 路由器完全破坏了打字中的所有内容。其他人如何使用它?
-
所以它说你有一个重复的 var
angular定义。你的问题就在这里。你知道这两个声明在哪里吗? -
我曾经遇到过同样的问题。我想我刚刚删除了类型定义文件中的“declare var angular...”表达式。
-
所以在处理了一天之后,我仍然不能 100% 确定是什么解决了这个问题,但是每次我对输入进行更改时,我都需要关闭 vscode 并重新打开它。这似乎修复了错误。不知道为什么,但确实如此。我现在也将 tsconfig.json 留空了
标签: typescript visual-studio-code definitelytyped tsd