У меня проблема с тем, как правильно фильтровать фильтр, проблема возникает только при производстве, на моем локальном хосте все правильно, я думал, что фильтр загружается до углового, но я поставил точки останова и вижу, что все идет правильно (или я что-то пропустил) Похож на проблему с deps. инъекции, но я не могу найти правильный путь.
Вот мои файлы, пожалуйста, помогите, я сломаю голову этой проблемой.
boot.js
window.name = 'NG_DEFER_BOOTSTRAP!';
require.config({
'baseUrl': '/static/angular/',
'paths': {
/* .... */
},
'shim': {
/* .... */
}
});
require([
'angular',
'app'
], function (angular, app) {
'use strict';
angular.element(document.getElementsByTagName('html')[0]);
angular.element().ready(function () {
angular.resumeBootstrap([app.name]);
});
});
app.js
define([
'angular',
'filters/filters',
'controllers'
], function (angular) {
/* .... */
return app;
});
controllers.js
define( function (require) {
'use strict';
var angular = require('angular'),
Controllers = angular.module('controllers', []);
Controllers.controller('mainController', require('controllers/main.controller'));
/* .... */
return Controllers;
});
фильтры /filters.js
require([
'app'
], function (app) {
'use strict';
app.filter('yesNo', function() {
/* .... */
});
return app;
});
Я нашел способ, теперь я создаю модуль фильтров, и вместо того, чтобы пропустить зависимость от приложения, я отправляю угловой объект и внедряю новый модуль:
фильтры /filters.js
require([
'angular'
], function (angular) {
'use strict';
angular.module('filters', []).filter('yesNo', function() {
/* .... */
});
});
app.js
define([
'angular',
'filters/filters',
], function (angular) {
'use strict';
var app = angular.module('appName', [
'filters',
]);
/* .... */
return app;
});
Теперь он работает правильно!