Voici mon dossier: app/scripts/controllers/main.js
"use strict";
angular.module('appApp')
.controller('MainCtrl', ['$scope', function ($scope) {
$scope.awesomeThings = [
'HTML5 Boilerplate',
'AngularJS',
'Karma'
];
}]);
Ma Gruntfile.coffee
a:
jshint:
options:
globals:
require: false
module: false
console: false
__dirname: false
process: false
exports: false
server:
options:
node: true
src: ["server/**/*.js"]
app:
options:
globals:
angular: true
strict: true
src: ["app/scripts/**/*.js"]
Lorsque j'exécute grunt
, j'obtiens:
Linting app/scripts/controllers/main.js ...ERROR
[L1:C1] W097: Use the function form of "use strict".
"use strict";
Le problème est que si vous n'utilisez pas le formulaire de fonction, il s'applique à tout, et pas seulement à votre code. La solution est d'étendre use strict
à l'intérieur des fonctions que vous contrôlez.
Reportez-vous à cette question: JSLint signale soudainement: utilisez la forme de fonction "use strict" .
Plutôt que de faire
"use strict";
angular.module('appApp')
.controller('MainCtrl', ['$scope', function ($scope) {
$scope.awesomeThings = [
'HTML5 Boilerplate',
'AngularJS',
'Karma'
];
}]);
Tu devrais faire
angular.module('appApp')
.controller('MainCtrl', ['$scope', function ($scope) {
"use strict";
$scope.awesomeThings = [
'HTML5 Boilerplate',
'AngularJS',
'Karma'
];
}]);
C'est soit cela, soit encapsuler votre code dans une fermeture auto-exécutable, comme ci-dessous.
(function(){
"use strict";
// your stuff
})();
J'ai changé mon Gruntfile.coffee
pour inclure globalstrict
jshint:
options:
globalstrict: true
globals:
require: false
module: false
console: false
__dirname: false
process: false
exports: false