2016-07-27 67 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; 
}); 

現在它工作正確!

相關問題