WebStorm无法识别外部库全局

时间:2017-07-10 18:06:32

标签: angularjs typescript webstorm

我正在使用WebStorm中的AngularJS(1.6.5)开展一个小项目。这里的问题是WebStorm没有识别AngularJS定义的任何全局变量。我安装了AngularJS,右边是@types。我还将AngularJS定义为外部库,并且我还确保AngularJS不是excluded by WebStorm。然而,WebStorm仍在给我错误。

示例:

logConfig.$inject = ["$logProvider", "$compileProvider"];
function logConfig($logProvider: ng.ILogProvider, $compileProvider: ng.ICompileProvider) {
    // $logProvider.debugEnabled(false); //TODO add this in production
    // $compileProvider.debugInfoEnabled(false); //TODO add this in production

    // Disable comment and class directives. Boosts the performance
    $compileProvider.commentDirectivesEnabled(false);
    $compileProvider.cssClassDirectivesEnabled(false);
}

上面的代码在WebStorm中收到以下错误:Unresolved variable $inject。 ($inject有红色,当我将鼠标悬停在它上面时会给出消息)

我错过了什么吗?

更新

我可能已经发现了这个问题。 WebStorm不重建AngularJS,即使它在我的Node_modules中,我有正确的类型(@ types / angular),我已注册为外部库(文件 - >设置 - >语言和框架 - > JavaScript的 - >天秤里斯)。

当我输入import * as ng from "an|"并点击“ctrl + space”时,WebStorm不会给我任何关于角度库的提示。我猜这些问题是有联系的。

任何人都知道是否还有其他选项让WebStorm重建AngularJS?

1 个答案:

答案 0 :(得分:1)

我找到了解决问题的方法:

就像Ekaterina Prigara所说的那样,我的TSLint被禁用了。我需要通过Settings | Languages & Frameworks | TypeScript | TSLint重新启用它。重新启用它后,我重新启动了我的WebStorm并收到错误:错误:Initialization error (typescript). Cannot read property 'createHash' of undefined。然后我删除了我的node_modules文件夹并通过npm install重新安装它。之后一切都恢复了。