原本項目的baseUrl地址是放在src/common/config.js ,但是這有一個缺點,就是本地測試一個地址,生產一個地址。每發一次不同環境的包就要build一下,太麻煩了!有沒有解決的辦法呢?
我們知道static下面的文件,會原原本本打包到dist下面的。所以我們可以把src/common/config.js 放到static文件下,那麼只要build一次,在config.js上修改baseUrl就可以了。
1、在static 創建一個文件夾common。里面創建一個config.js文件
2、 在index.js中引入
<script src="./static/common/config.js"></script>
3、在http.js中
axios.defaults.baseURL = window.default.baseURL;
4、打包后,可以在dist/static發現common/config.js文件。打開就可以修改里面的baseUrl然后更新到不同的服務器上
遇到問題
比如要在界面上要要顯示圖片
還沒有提取config.js 是這樣寫的
let _img = img?config.default.baseUrl+'/'+img:'';
提取之後
let _img = img?window.default.baseUrl+'/'+img:'';
本地運行沒有問題,但是打包到服務器上就報錯了
中間這個undefined是什麼鬼東西。
原來是 window.default.baseUrl 是undefined
怎麼解決呢?
let _img = img?`${window.default.baseURL}`+'/'+img:'';