我正在使用gulp-jshint,这使我在每个文件中添加'use strict'指令,因此我不能使用我的app.js文件中定义的全局对象emApp:
var emApp = angular.module('emApp');
但是,我看到jshint对角度对象一无所知。我想知道为什么会这样,以及如何使用我自己的emApp对象做同样的事情。
答案 0 :(得分:2)
使用cardPoints.add(1, new Card(1, "Ace of Spades");
....
cardPoints.add(14, new Card(1, "Ace of Hearts");
cardPoints.add(15, new Card(2, "2 of Hearts");
,您必须分配到'use strict'
(在顶层)或this.emApp
(也在函数内工作),不需要window.emApp
。
虽然每种模块化方法的目的(以及Angular)也是为了最大限度地减少全局变量的使用,所以
var
在您使用该模块的每个地方都是一件好事。
答案 1 :(得分:0)
有两个选项可以告诉JSHint有关全局变量的信息: 1)如果你想告诉特定文件中的全局变量,请在文件的开头使用该指令:
/* globals myVariable: false */
2)如果要为项目中的所有文件声明全局,可以在.jshintrc文件中添加此指令,如下所示:
"globals": {
"myVariabe": true
}
有关使用JSHint的全局变量的更多信息请阅读:http://jshint.com/docs/
P.S。问题中提到的角度对象在.jshintrc文件中定义