Фильтр AngularJs + RequireJs Неизвестный поставщик

0

У меня проблема с тем, как правильно фильтровать фильтр, проблема возникает только при производстве, на моем локальном хосте все правильно, я думал, что фильтр загружается до углового, но я поставил точки останова и вижу, что все идет правильно (или я что-то пропустил) Похож на проблему с 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;
});
Теги:
requirejs

1 ответ

0
Лучший ответ

Я нашел способ, теперь я создаю модуль фильтров, и вместо того, чтобы пропустить зависимость от приложения, я отправляю угловой объект и внедряю новый модуль:

фильтры /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;
});

Теперь он работает правильно!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню