2014-12-08 2 views
2

내 사이트의 모든 각형 응용 프로그램에 대해 동일한 구성 블록을 서로 다른 파일에 가지고 있습니다.여러 각도 응용 프로그램에서 동일한 구성을 공유하는 방법

app_1.config([ 
    "$httpProvider", function($httpProvider) { 
    $httpProvider.defaults.headers.common['X-CSRF-Token'] = $('meta[name=csrf-token]').attr('content'); 
    } 
]); 

app_2.config([ 
    "$httpProvider", function($httpProvider) { 
    $httpProvider.defaults.headers.common['X-CSRF-Token'] = $('meta[name=csrf-token]').attr('content'); 
    } 
]); 

app_3.config([ 
    "$httpProvider", function($httpProvider) { 
    $httpProvider.defaults.headers.common['X-CSRF-Token'] = $('meta[name=csrf-token]').attr('content'); 
    } 
]); 

표준화 방법이 있습니까?

답변

6

"myApp.common"또는 "myApp.common.configs"와 같은 다른 모듈을 만들고 해당 모듈에 공통 구현을 유지하고 해당 모듈을 필요로하는 다른 모듈에 종속성으로 포함시킬 수 있습니다.

예 -

/*Create an app that has the common configuration used in your app clusters*/ 
angular.module('app.common', []).config([ 
    "$httpProvider", function($httpProvider) { 
    $httpProvider.defaults.headers.common['X-CSRF-Token'] = $('meta[name=csrf-token]').attr('content'); 
    } 
]); 

및 메모 측면

//Include common module as well as a part of other dependencies your app may have 
var app_1 = angular.module('app1', ['app.common', 'somedep', ...]); 
var app_2 =angular.module('app2', ['app.common']); 
//... 

, 전 실시 예와 같이 전역 변수 내 모듈 기억 피할 것이다 대신 대신 모듈 게터 구문을 사용하여 선호 필요할 때마다. 예 : - angular.module('app1').service(..., angular.module('app1').config(...