axios請求本地的json文件在打包部署到子目錄域名下,路徑找不到


前言:

  因為要同時部署兩個項目,有一個是部署到域名下面的子目錄下,如:https://xxx.com/siot-admin

  vue 項目中使用axios請求了本地項目的static文件夾下的json文件,使用npm run build 打包后,json文件請求不到報404:

  

  

解決辦法:      

Vue-cli打包后部署到子目錄下路徑問題

舉例,若需要部署到www.***.com/catalog1/catalog2/下,需要更改

  1. config/index.js文件中,buildassetsPublicPath屬性為'/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文件中的路徑。 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM