在我的主app.js中,我定义了我的应用程序:
var app = angular.module('ccApp', ['ngCookies', 'ngResource', 'ngSanitize', 'ngRoute']);
在我的各种控制器文件中,我定义了控制器:
app.controller('LoginCtrl', function($scope, $log, $location, $rootScope, $window) {...
这些行都被标记为错误,jshint为" app未定义"。该应用程序正常;当脚本全部连接在一起时,它们会看到变量定义。
如何获得jshint"了解"这并没有将此标记为错误?
答案 0 :(得分:1)
如果app
是全局的,您可以在配置中预定义变量(因此jshint知道它们存在)(无论是通过.jshintrc
文件还是其他方法:
{
"predef": ["app"]
}
您也可以使用jshint的内联配置在每个文件的基础上执行此操作,方法是将此注释指令添加到文件的顶部:
/* global app */
答案 1 :(得分:0)
而不是使用
var app = angular.module('ccApp', ...
你应该使用
// in app.js once with dependencies
angular.module('ccApp', ['ngCookies', 'ngResource', 'ngSanitize', 'ngRoute')
// in component files
angular.module('ccApp')
.controller('..', ...
应该照顾你的jshint。此外,如果您计划将您的应用程序重新用作库,那么您会遇到问题,因为您已经使用了全局变量(var app
),或者其他人可能会在不知情的情况下使用它并遇到问题。 / p>