修改vue的配置項支援生產環境下二級域名訪問的方法
本文主要記錄如何配置vue的打包檔案配置項,使打包後的檔案可以支援二級域名的訪問。
1、常規打包
在實際的專案中,我們通常都使用npm run build
直接打包檔案後丟到伺服器上訪問
打包後的檔案目錄是這樣的:
訪問的靜態資源都是地址是這樣的:
我們現在要放在伺服器的二級域名下訪問地址,那麼訪問的路徑就應該也加上二級域名,該如何配置尼?
2、靜態檔案地址修改
靜態檔案的訪問地址應該加上二級域名字首:
方法:找到專案的打包配置檔案index.js
,對引數assetsPublicPath
進行配置:
解釋一下:
-
assetsPublicPath
: 是webpack打包後的檔案訪問的靜態資源路徑的根路徑,如果我們想在訪問的域名後加入二級域名,那麼就要在這裡進行配置了。 -
process.argv
:是node的全域性變數,我們在執行npm run build
其實真實的命令列是node build/build.js
!process.argv
指的就是node命令列後的引數,argv是一個數組,第一個引數是process.execPath
,第二個引數是當前執行的js檔案路徑,第三個引數開始指向我們在命名行後面加的引數了。
因此我們這樣執行命令進行打包就可以了:
如此,node就可以獲取到process.argv[2]
是hmy
了,那麼靜態資源的路徑就可以是/hmy
了。
3、介面地址修改
除了修改靜態檔案的路徑,我們還要修改介面請求地址的路徑,我們知道在vue的業務程式碼中可以通過process.env
方法:找到專案的打包生產環境的配置檔案prod.env.js
'usestrict'leturl=(process.argv[2]&&process.argv[2]=='hmy')?'hmy':'';module.exports={NODE_ENV:'"production"',URL:'"'+url+'"'}
在封裝axios請求的檔案中:
letURL=process.env.URL; axios.defaults.baseURL=URL==='hmy'?'/hmy':'/';
這樣,就完成了二級域名訪問的配置啦!
原文出處:https://www.cnblogs.com/webhmy/p/10150482.html
作者:蝴蝶不菲
連結:https://www.imooc.com/article/268528
來源:慕課網