【问题标题】:Module "ng" has no exported members in vs code模块“ng”在 vs 代码中没有导出成员
【发布时间】: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


【解决方案1】:

检查安装 angular-ui-router 的位置是否有额外的 .d.ts 文件。类似的东西

./bower_components/angular-ui-router/api/angular-ui-router.d.ts

删除该 .d.ts 文件并重新启动 VSCode。如果它不存在,请检查项目中的其余文件夹是否有任何重复的 .d.ts 文件。这就是为我解决问题的方法。

【讨论】:

    猜你喜欢
    • 2017-03-27
    • 2021-07-11
    • 1970-01-01
    • 2020-07-30
    • 1970-01-01
    • 2017-05-20
    • 2017-05-07
    相关资源
    最近更新 更多