2015-10-08 79 views
1

爲了維護像BaseURL這樣的應用程序屬性,我們用來創建一個.properties文件,並在Java應用程序中隨時檢索它。 在前端angularJS應用程序中,我可以創建.json文件並使用$http.get()方法調用它。
我可以使用angularJS constants作爲此功能,而不是撥打$http電話嗎?如果我在AngularJS常量中使用URL,會不會有任何安全問題?AngularJs中的應用程序屬性

+1

處理客戶端JavaScript時存在* always *安全問題。客戶可以(也將會)打開瀏覽器控制檯並檢查JavaScript的內容。甚至縮小工具也無法幫助模糊處理。如果您擔心信息的敏感性,請將其保留在服務器端。雖然你仍然必須在客戶端發佈至少**一個** URL,那麼使用HTTP調用來下載配置的其餘部分,哪一個會假設與其他數據是同一臺服務器?我不確定試圖隱藏你的網址是一個主要的問題...... – Claies

+0

哦!我完全錯過了這一點。因此,即使我從屬性文件中獲取URL,當我打電話給該URL時,無論如何,這將顯示在瀏覽器控制檯中。非常感謝您輸入Claies。 – DRB

回答

2

在我們的項目中,我們習慣於把所有這樣的配置在一個JSON文件,即

{ 
    "BASE_URL": "/myApp", 
    "VERSION": "1.0" 
} 

,然後,在構建階段將此文件轉換成角模塊,即:

agnular.module("myProject.config", []) 
.constant("BASE_URL", "/myApp") 
.constant("VERSION", "1.0"; 

和,最後,將應用程序的源代碼附加到具有適當依賴性的配置模塊:

angular.module("myProject", ["myProject.config"]); 

Gruntgulp插件,可以自動爲你。