前言:
因為要同時部署兩個項目,有一個是部署到域名下面的子目錄下,如:https://xxx.com/siot-admin
vue 項目中使用axios請求了本地項目的static文件夾下的json文件,使用npm run build 打包后,json文件請求不到報404:

解決辦法:
Vue-cli打包后部署到子目錄下路徑問題
舉例,若需要部署到www.***.com/catalog1/catalog2/下,需要更改
-
config/index.js文件中,build下assetsPublicPath屬性為'/catalog1/catalog2/',如下:
build: { assetsPublicPath: '/catalog1/catalog2/',
默認情況下該值為'/'(該屬性目測是webpack打包時的文件引用路徑的基礎路徑,一級域名下這里應該寫成“./”)。
2.修改路由base屬性為'/catalog1/catalog2/',如下:
export default new Router({ // mode: 'history',
base: '/catalog1/catalog2/', //這個一定要加上 routes: [ { path: '/', name: 'indexContent', component: indexContent } ] })
其中mode設置為'history'可清除路徑中的#(本地測試有效)。
設置完成后重新打包。

問題二: static里面的 font字體在打包后也找不到了

這個字體文件報404
解決辦法:
在build/utils文件中的下圖所示位置添加../../公共路徑

這樣打包的iconfont字體文件路徑時就會加上../../了。引用就沒問題了。而不再需要手動更改css文件中的路徑。

