grunt-contrib-jshint - 在定义之前使用了错误

时间:2015-03-18 14:19:23

标签: javascript angularjs gruntjs jshint

当我使用Grunt-jshint时,我遇到了这个问题。

我有一个Angular应用程序,我将我的控制器或指令定义为:

angular.module('myApp').controller('beerFormController', beerForm_controller);

beerForm_controller.$inject = ['$scope'];

function beerForm_controller($scope) {
    var vm_main = this;
    vm_main.smsCgHijo = 'some text here';
}

这是我开始执行grunt任务后的错误:

Running "jshint:files" (jshint) task
Linting app/js/directives/beerForm/beerForm_controller.js...ERROR
[L7:C29] 'beerForm_controller' was used before it was defined.

有人可以帮助我吗?

什么是问题? ...谢谢

1 个答案:

答案 0 :(得分:1)

正如消息所述,问题在于您在源中出现beerForm_controller函数之前已经使用过它。这实际上不是问题,因为函数声明被提升但它违反了默认的JSHint样式指南。

您可以通过将latedef选项设置为nofunc来告诉JSHint允许该样式。