在我們公司,和后台接接口時,公共的請求路徑我們是單獨抽出來的,放在一個獨立的public.js中,在public.js中存入那個公共變量
公共變量是這樣
在其他地方使用ajax時,我們就這樣使用
這種用法在平時的項目中是沒有問題的。但是因為公司最近的項目都是用react來用,然后用webpack來打包。
webpack打包后,public這個js也被打包進了每個組件中去。如果需要修改的話,要么就在react打包后的每個js文件中修改,要么就是在public.js中修改你的公共
路徑,然后再打包一次。這樣會顯得很麻煩。
解決方法就是創建一個config.json文件,並將其放在根目錄下,因為webpack不會將你的json文件也打包進去,然后再config.json中寫
{ "urlContent":"http://www.dtvalue.com/consultation_market/" }
在我的public.js的代碼改為
$.urlContent="http://"+window.location.host+"/consultation_market/"; $.ajax({ url:'config.json', async:false, type:'get', success:function(rs){ if(rs.urlContent){ $.urlContent=rs.urlContent ; } } });
這樣,用webpack后,當我需要修改我的公共路徑時,就不需要這么麻煩,只需要修改我的config.json里的代碼即可
在這里,$.ajax要改為同步,而不是異步,即 async改為false;
原創!