私のファイルは次のとおりです:app/scripts/controllers/main.js
"use strict";
angular.module('appApp')
.controller('MainCtrl', ['$scope', function ($scope) {
$scope.awesomeThings = [
'HTML5 Boilerplate',
'AngularJS',
'Karma'
];
}]);
私Gruntfile.coffee
のは:
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"]
を実行するとgrunt
、次の結果が得られます。
Linting app/scripts/controllers/main.js ...ERROR
[L1:C1] W097: Use the function form of "use strict".
"use strict";
ベストアンサー1
問題は、関数形式を使用しないと、コードだけでなくすべてに適用されてしまうことです。その解決策は、use strict
制御する関数内でスコープを設定することです。
この質問を参照してください:JSLintが突然報告します: 「use strict」の関数形式を使用してください。
むしろ
"use strict";
angular.module('appApp')
.controller('MainCtrl', ['$scope', function ($scope) {
$scope.awesomeThings = [
'HTML5 Boilerplate',
'AngularJS',
'Karma'
];
}]);
あなたがすべきことは
angular.module('appApp')
.controller('MainCtrl', ['$scope', function ($scope) {
"use strict";
$scope.awesomeThings = [
'HTML5 Boilerplate',
'AngularJS',
'Karma'
];
}]);
それか、以下のようにコードを自己実行クロージャでラップするかのどちらかです。
(function(){
"use strict";
// your stuff
})();