Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs WebStorm未定义“角度”_Angularjs_Webstorm - Fatal编程技术网

Angularjs WebStorm未定义“角度”

Angularjs WebStorm未定义“角度”,angularjs,webstorm,Angularjs,Webstorm,注意:这是WebStorm问题,不是angular.js问题 问题的屏幕广播: 说明: 我的index.html文件中有以下内容: <script src="vendor/js/angular.min.js"></script> <script src="app/js/scratch.js"></script> 在scratch.js中,当我引用angular时,我不断从JSHint获得这个angular未定义的消息。我如何使它看起来像这个文件中

注意:这是WebStorm问题,不是angular.js问题

问题的屏幕广播:

说明:

我的index.html文件中有以下内容:

<script src="vendor/js/angular.min.js"></script>
<script src="app/js/scratch.js"></script>
在scratch.js中,当我引用angular时,我不断从JSHint获得这个angular未定义的消息。我如何使它看起来像这个文件中定义的那样有角度,这样JSHint就不再抱怨它了?这是配置问题吗?请告知


WebStorm v7.0.3/Mac OSX v10.9.1

中的第一个示例如下:

配置文件是一个简单的JSON文件,指定要打开或关闭的JSHint选项。例如,下面的文件将启用关于未定义和未使用变量的警告,并告诉JSHint关于名为MY_global的全局变量

将MY_GLOBAL替换为angular,您将不会再收到此JSHint警告。

转到设置>插件并下载用于WebStorm的AngularJS插件。这是我在WebStorm中使用AngularJS之前做的第一件事,我从来没有看到过这个问题

WebStorm的第8版将完全嵌入AngularJS,但现在,该插件应该会有所帮助

编辑:好的,我想我可能找到了另一个可能的解决办法。正如你所说,这是一个网络风暴的问题。代码中没有实际错误,只是代码检查。您可以按如下方式关闭此检查:

进入设置>检查>JavaScript>常规,取消选中未解析JavaScript变量和未解析JavaScript函数

这将使错误消失。我在阅读有关Pluralsight的AngularJS教程时发现了这一点。

如果有帮助:

我使用yeoman yo angular构建了一个基本项目,并在WebStorm 8中遇到了相同的“angular未定义”问题,默认情况下我有AngularJS插件。然而,我见过其他人这样做,但没有同样的问题

上面选择的解决方案在JSHint中是正确的,需要告知名为angular的全局变量。但是,如果使用yeoman,则所需的配置设置将已在脚手架目录中的.jshintrc文件中定义

因此,您所需要做的就是让JSHint将这些作为项目的默认设置。为了做到这一点,我发现下面的SO线程对于显式设置配置文件的位置非常有用。

在WebStorm 8中,您将看到一个名为Use config files-checking的选项,该选项将自动在项目层次结构中查找.jshintrc文件。选择此选项将使“角度未定义”问题永久消失。

Webstorm settings > JavaScript > Code Quality Tools > JSHint 

有预定义的行。单击它旁边的Set。您可以在此处添加所有预定义变量。

要使WebStorm 2016+正确识别angularjs,甚至启用代码完成,只需转到:

File > Settings
然后在左侧选择:

Languages & Frameworks > JavaScript > Libraries

标记“角度”旁边的复选框,然后单击“应用”。如果列表中未显示angular,则需要单击“添加”并浏览到已下载库的任何位置。

谢谢您的回复,JB。但我不确定这是否能解决问题。我不仅仅是想阻止JSHint抱怨这个问题。我希望能够在scratch.js中看到angular,所以JSHinst没有什么可抱怨的。我本来希望在WebStorm全局了解的JavaScript库集合中添加angular.js可以解决这个问题,但事实并非如此,这就是问题所在。为什么,如果angular在全局可见,即在scratch.js的范围内,JSHint仍然说angular没有定义?我一直在看教程,不同的作者在使用WebStorm,他们没有这个问题-即他们的WebStorm编辑器上没有红色标记指示angular未定义的问题。所以我想一定有办法消除这个错误,我的意思是修复它,而不是掩盖它。通常,如果项目中存在angular.js文件,WebStorm会“看到”angular,并且像完成这样的东西是可用的。这只是JSHint的抱怨,因为它总是在一个文件范围内工作,对其他.js文件中定义的全局变量一无所知。这里的回答是:将angular添加到predef key in.jshintrcInstalled AngularJS插件,但这似乎并没有解决问题。仍在看到未定义的信息。但是,我得到了一些其他的好功能。谢谢你的推荐,因为这个问题涉及Webstorm+JSHint+Angular,我认为这个答案是正确的;谢谢,我正在找它。也适用于PhpStorm。也可以转到设置/JavaScript/库,确保Angular已列出并选中Enabled。@TrueWill的这句话有助于节点的require,而将require添加到.jshintrc中不起作用。同意ByScript。这应该是公认的答案。对于在谷歌上搜索的人来说:我正在使用webstorm10。我并没有通过添加库来解决这个问题,而是将项目根目录设置为包含我正在使用的angular.min.js。一开始 我将根目录设置为path/to/project\u name/app,但现在我将其设置为path/to/project\u name。我的角度文件位于路径/to/project\u name/bower\u组件中
Languages & Frameworks > JavaScript > Libraries