2016-07-27 9 views
0

フィルタを正しく挿入する方法に問題があり、問題は本番環境でのみ表示されますが、ローカルホストではすべて正しいと思いますが、フィルタは角度の前に読み込まれると思っていましたが、この方法を修正する(または私は何かが恋しい)デプスの問題のように見える。注射が、私は適切な方法を見つけることができません。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; 
}); 

今すぐ正しく動作します。

関連する問題