visual - jshint vscode
jshint problema de "uso estricto" (2)
Cambié mi Gruntfile.coffee
para incluir globalstrict
jshint:
options:
globalstrict: true
globals:
require: false
module: false
console: false
__dirname: false
process: false
exports: false
Esta pregunta ya tiene una respuesta aquí:
Aquí está mi archivo: app/scripts/controllers/main.js
"use strict";
angular.module(''appApp'')
.controller(''MainCtrl'', [''$scope'', function ($scope) {
$scope.awesomeThings = [
''HTML5 Boilerplate'',
''AngularJS'',
''Karma''
];
}]);
Mi Gruntfile.coffee
tiene:
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"]
Cuando corro grunt
, me sale:
Linting app/scripts/controllers/main.js ...ERROR
[L1:C1] W097: Use the function form of "use strict".
"use strict";
El problema es que si no utiliza el formulario de función, se aplica a todo, y no solo a su código. La solución a eso es use strict
funciones internas use strict
que controlas.
Refiérase a esta pregunta: JSLint está informando repentinamente: use la forma de la función de "uso estricto" .
En lugar de hacer
"use strict";
angular.module(''appApp'')
.controller(''MainCtrl'', [''$scope'', function ($scope) {
$scope.awesomeThings = [
''HTML5 Boilerplate'',
''AngularJS'',
''Karma''
];
}]);
Deberias estar haciendo
angular.module(''appApp'')
.controller(''MainCtrl'', [''$scope'', function ($scope) {
"use strict";
$scope.awesomeThings = [
''HTML5 Boilerplate'',
''AngularJS'',
''Karma''
];
}]);
Es eso o envolver su código en un cierre de ejecución automática, como a continuación.
(function(){
"use strict";
// your stuff
})();