Vue-cli assets SubDirectory及PublicPath區(qū)別詳解
近期在參與用vue+ springBoot前后端不分離項目,遇到了前端打包后dist文件放到后臺無法運行報404錯誤,static下的資源都訪問不了問題。
問題1:我們知道前后端不分離項目,一些靜態(tài)圖片、頁面直接放在resource/static下,由于前后臺分開開發(fā),前端進(jìn)行了跨域處理,dist文件放到后臺就相當(dāng)于本地靜態(tài)資源,所以不需要跨域處理,可以將引入跨域的路徑baseURL置空
const service = axios.create({
//baseURL: '/appstore',
baseURL: '',
responseType: 'json',
timeout: 5000 // request timeout
})
問題2:就是assetsPublicPath的問題,先去分析下assetsPublicPath和assetsSubDirectory 。
找到config/index.js文件下的build配置改為 assetsPublicPath: '/dist/'
build: {
index: path.resolve(__dirname, '../dist/index.html'),
// Paths
assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
// assetsPublicPath: '/', assetsPublicPath: '/dist/',
}
- index:模板
- assetsRoot:打包后文件存放的路徑
- assetsSubDirctory:除了index.html之外的靜態(tài)資源要存放的路徑
- assetsPublicPath: 代表打包后,index.html里面引用資源的相對地址
這樣配置下就ok了
后臺訪問時要加上assetsPublicPath地址dist,即http://localhost:8080/dist/index.html#
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue-element-admin如何設(shè)置默認(rèn)語言
這篇文章主要介紹了vue-element-admin如何設(shè)置默認(rèn)語言,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-04-04

