2016-07-27 5 views
0

У меня проблема с тем, как правильно нагнетать фильтр, проблема возникает только при производстве, на моем локальном хосте все правильно, я думал, что фильтр загружается до углового, но я поставил точки останова и вижу, что все идет исправьте этот путь (или я что-то пропустил) Похож на проблему с deps. инъекции, но я не могу найти правильный путь.Фильтр AngularJs + RequireJs Неизвестный поставщик

Вот мои файлы, пожалуйста, помогите, я сломаю голову этой проблемой.

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; 
}); 

ответ

0

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

фильтров/filters.js

require([ 
    'angular' 
], function (angular) { 
    'use strict'; 
    angular.module('filters', []).filter('yesNo', function() { 
    /* .... */ 
    }); 
}); 

приложения. js

define([ 
    'angular', 
    'filters/filters', 
], function (angular) { 
    'use strict'; 
    var app = angular.module('appName', [ 
    'filters', 
    ]); 
    /* .... */ 
    return app; 
}); 

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

Смежные вопросы