注:这是WebStorm问题,不是angular.js问题。
问题的截屏视频:http://f.cl.ly/items/302s0d1k1i3i1B2p0W09/ws703-angular-not-defined.mp4
描述:
我的index.html文件中包含以下内容:
<script src="vendor/js/angular.min.js"></script>
<script src="app/js/scratch.js"></script>
在scratch.js中,当我引用"angular“时,我一直收到来自JSHint的"angular is not defined”消息。我如何让它看起来像这个文件中定义的那样,这样JSHint就不会再抱怨它了?这是一个配置问题吗?请给我建议。
WebStorm v7.0.3 / Mac v10.9.1
发布于 2014-05-30 18:51:29
在……里面
Webstorm settings > JavaScript > Code Quality Tools > JSHint
有“预定义”行。单击它旁边的"Set“。您可以在此处添加所有预定义的变量。
发布于 2014-05-13 01:44:19
如果有帮助的话:
我使用yeoman (yo angular)搭建了一个基本项目,在WebStorm 8(默认情况下我有AngularJS插件)中遇到了同样的'angular is not defined‘问题。然而,我见过其他人这样做,但没有同样的问题。
上面选择的解决方案是正确的,因为JSHint需要被告知名为"angular“的全局变量。但是,如果您使用yeoman,所需的配置设置将已经在.jshintrc (脚手架目录中的一个文件)中定义。
因此,您需要做的就是让JSHint将这些设置用作项目的默认设置。为此,我发现以下SO线程对于显式设置该配置文件的位置很有用。JSHint behave differently in Webstorm and Grunt
在WebStorm 8中,您将看到一个名为“使用配置文件”的选项--选中该选项将自动在项目层次结构中查找.jshintrc文件。选择此选项将使“角度未定义”的问题永远消失。
发布于 2014-02-10 12:54:49
访问Settings > Plugins
并下载用于WebStorm的AngularJS插件。这是我在WebStorm中使用AngularJS之前做的第一件事,我从来没有看到过这个问题。
WebStorm的版本8将完全内置AngularJS,但现在,这个插件应该会有所帮助。
编辑:好的,我想我可能找到了另一个可能的解决方案。正如您所说,这是一个WebStorm问题。代码中没有实际的错误,这只是一个代码检查。您可以像这样关闭此检查:
转到settings > inspections > JavaScript > General
并取消选中"unresolved JavaScript variable"
和"unresolved JavaScript function"
。
这应该会使错误消失。这是我在阅读Pluralsight上的AngularJS教程时发现的。
https://stackoverflow.com/questions/21666090
复制相似问题