我正在使用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?
答案 0 :(得分:1)
我找到了解决问题的方法:
就像Ekaterina Prigara所说的那样,我的TSLint被禁用了。我需要通过Settings | Languages & Frameworks | TypeScript | TSLint
重新启用它。重新启用它后,我重新启动了我的WebStorm并收到错误:错误:Initialization error (typescript). Cannot read property 'createHash' of undefined
。然后我删除了我的node_modules文件夹并通过npm install重新安装它。之后一切都恢复了。