У меня есть контроллер и два модуля, разделенных на три файла. Когда я запускаю задачу Jshint в Grunt, я всегда получаю ошибку, что отсутствует инструкция "use strict". Поэтому, чтобы исправить эту ошибку, я включил инструкцию в эти три файла, но я все еще получаю ошибку, и я не понимаю, почему. Поскольку я все еще изучаю основы Angular, я не знаю, почему это происходит.
Спасибо за ваши ответы!
Контроллер:
"use strict";
angular.module('calculatorApp').controller('HomeController', ['calculatorApp', function(){
var $this = this;
$this.test = function () {
$this.alert('test');
};
}]);
Модуль:
"use strict";
var calculatorApp = angular.module('calculatorApp', ['ngRoute']);
calculatorApp.config(function($routeProvider){
$routeProvider
.when('/', {
controller: 'HomeController',
templateUrl: 'home.tpl.html'
})
.otherwise({
redirectTo: '/'
})
});
Я хотел поделиться своим решением об ошибках. Похоже, у меня была папка поставщика внутри моей папки src. Если кто-то другой должен испытать эту ошибку, проверьте структуру папок!
Allways переносит ваши модули, чтобы избежать ошибок в задачах concat & miniziming (избегайте коллизий переменных и утечки в глобальную область), также включите строгое использование внутри этих функций.
Пример:
app.js
var app;
(function (app) {
'use strict';
angular.module('app', [
'module1',
'module2',
'moduleX'
]);
})(app || (app = {}));
randomcontroller.js
var app;
(function (app) {
'use strict';
var RandomController = (function () {
function RandomController(logger) {
this.logger = logger;
this.title = 'RandomView';
this.logger.info('Activated Random View');
}
RandomController.$inject = ['logger'];
return RandomController;
})();
angular.module('app').controller('RandomController', RandomController);
})(app || (app = {}));
Обратитесь к изумительному руководству John Papa, если у вас возникнут проблемы → https://github.com/johnpapa/angular-styleguide