因為部署前把vue頁面或組件里到ajax請求路徑的http://localhost:3000去掉(即改為服務(wù)器(里的web后端程序)可以識別的相對路徑)
解決辦法:創(chuàng)建一個可以隨意把請求路徑切換到開發(fā)環(huán)境或服務(wù)器打包環(huán)境的工具
一般項目webpack會有兩個或多個配置文件,如:
webpack.prod.conf.js??對應(yīng)線上打包
webpack.dev.conf.js? ?對應(yīng)開發(fā)環(huán)境
使用webpack.DefinePlugin就可以
```
開發(fā)環(huán)境(webpack.dev.conf.js):
//開發(fā)環(huán)境下的baseURL
new webpack.DefinePlugin({
? BASE_URL:"'xxxxxxxxx'"
})
線上環(huán)境(webpack.prod.conf.js):
//線上環(huán)境下的baseURL
new webpack.DefinePlugin({
? BASE_URL:"'xxxxxxxxx'"
})
```
我們只需要在入口文件中寫上:axios.defaults.baseURL = BASE_URL;即可。
通過配置了DefinePlugin,那么這里面的標(biāo)識就相當(dāng)于全局變量,你的業(yè)務(wù)代碼可以直接使用配置的標(biāo)識。
注意:這里配置
BASE_URL
屬性值的時候要單獨給里面的值再加一個引號,否則輸出的值不是字符串,所以會報錯。