亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在Angular.js中配置不同的環境?

如何在Angular.js中配置不同的環境?

LEATH 2020-02-03 15:04:40
如何管理不同環境的配置變量/常量?這可能是一個示例:我的其余API可以訪問localhost:7080/myapi/,但是在Git版本控制下使用相同代碼工作的朋友在Tomcat上部署了該API localhost:8099/hisapi/。假設我們有這樣的東西:angular    .module('app', ['ngResource'])    .constant('API_END_POINT','<local_end_point>')    .factory('User', function($resource, API_END_POINT) {        return $resource(API_END_POINT + 'user');    });如何根據環境動態注入API端點的正確值?在PHP中,我通常使用config.username.xml文件來執行此類操作,將基本配置文件(config.xml)與用戶名稱識別的本地環境配置文件合并。但是我不知道如何在JavaScript中管理這種事情?
查看完整描述

3 回答

?
滄海一幻覺

TA貢獻1824條經驗 獲得超5個贊

一個很酷的解決方案可能是將所有特定于環境的值分成一個單獨的角度模塊,所有其他模塊都依賴于以下角度模塊:


angular.module('configuration', [])

       .constant('API_END_POINT','123456')

       .constant('HOST','localhost');

然后,需要這些條目的模塊可以聲明對它的依賴關系:


angular.module('services',['configuration'])

       .factory('User',['$resource','API_END_POINT'],function($resource,API_END_POINT){

           return $resource(API_END_POINT + 'user');

       });

現在您可以考慮其他更酷的東西:


包含配置的模塊可以分為configuration.js,它將包含在您的頁面中。


只要您不將此單獨文件檢入git中,每個人都可以輕松地編輯此腳本。但是,如果不在單獨的文件中,則不檢入配置會更容易。另外,您可以在本地分支。


現在,如果您有一個像ANT或Maven這樣的構建系統,那么您的進一步步驟可能是為值API_END_POINT實現一些占位符,這些占位符將在構建時被替換為您的特定值。


或者,您有您的configuration_a.jsand,configuration_b.js并在后端決定要包含的內容。


查看完整回答
反對 回復 2020-02-03
  • 3 回答
  • 0 關注
  • 1297 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號