我們在開發的過程中,可能需要一些配置,這些配置可能就是僅僅為了開發的方便,比方說,訂單過期時間,生產環境需要半小時失效,但是真正開發時,我不可能等上個半小時,所以這個時間這個失效時間我們會寫在配置文件中,這樣開發環境和生產環境各一套配置,來回切換很方便的.
基于摘要里的,在Java后臺實現很方便,只需要讀取properties配置文件即可
但是在前臺js,js是在瀏覽器里執行的,無法讀取服務器上的配置,除非請求后臺,但是每次的開銷也是挺大的,所以這個想法被ps了
這時候可以利用nginx,前臺靜態頁面是部署在nginx中,所以我們可以配置nginx過濾某個js的url,然后指向我們需要的文件
前臺代碼
index.html
<!-- 即配置文件 --><script src="/config.js"></script><!-- 動態加載js --><script type="application/javascript"> if (config.devMode == 'dev') { loadJs("開發環境的js"); } else { loadJs("開發環境的js"); } function loadJs(url, callback) { // 實現 }</script>
配置文件(生產環境配置和開發環境的配置在不同路徑下,但是文件名同名)
var config = { // 或者 prd devMode: 'dev', // 還可以配置請求后臺的url前綴 serverUrl: 'http://dev.company.com' // serverUrl: 'http://api.company.com'}
nginx的配置
server { listen 80; server_name www.company.com; location / { root /Users/sunhao/Documents/company/project; index index.html; try_files $uri $uri/ /index.html; expires -1; }}server { listen 80; server_name debug.company.com; location / { root /Users/sunhao/Documents/company/project; index index.html; try_files $uri $uri/ /index.html; expires -1; } location ~ .flower/.js$ { root /Users/sunhao/Documents/company/project/js; }}
前一個server配置的是生產環境,正常配置
后一個,過濾flower.js,定向到另外一個文件夾下
訪問www.company.com就是正式環境
訪問debug.company.com就是開發環境了
這樣就可以實現配置的功能了
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答