Vue Build后的項目的根路徑配置方式
Vue Build后的項目的根路徑配置問題
問題描述
使用Vue-cli 版本v3.12.1,build之后默認的根目錄contextPath為/。
如果正式部署的路徑不是/,則需要修改發(fā)布的根路徑,否則會js和靜態(tài)資源會報404問題。
修改方法
工程文件 /config/index.js修改build下的assetsPublicPath,該值為根路徑配置。
build: {
// Template for index.html
index: path.resolve(__dirname, '../dist/index.html'),
// Paths
assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
assetsPublicPath: '/', // 修改為需要地址
}
同樣的,如果要修改靜態(tài)文件的名稱,可以修改assetsSubDirectory。
新手Vue build沒改根路徑配置的坑
沒有修改配置文件等直接 build 項目之后,打開 dist 中的 index.html 或者將 dist 文件夾上傳至 GitHub 打開頁面空白。
這里是因為沒有修改項目資源路徑,解決方法是:
打開項目根目錄下的 config 下的 index.js 文件,在 build 部分將 assetsPublicPath: '/' 改為 assetsPublicPath: './';
保存之后重新 npm run build 之后打開頁面,頁面結(jié)構(gòu)就能正常顯示出來了。
但是還有一個問題:控制臺報錯,字體圖標(biāo)不能正常顯示,找不到字體文件
同樣是項目資源路徑問題:解決方法
打開項目根目錄下 build 中的 utils.js 文件,在控制 build 樣式文件代碼中添加 publicPath: '../../' ;
// Extract CSS when that option is specified
// (which is the case during production build)
if (options.extract) {
return ExtractTextPlugin.extract({
use: loaders,
fallback: 'vue-style-loader',
publicPath: '../../' // 添加
})
} else {
return ['vue-style-loader'].concat(loaders)
}
保存之后重新 npm run build 并打開 dist 中的 index.html 就可以看到頁面正常顯示了。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue3中ref數(shù)組的監(jiān)聽實現(xiàn)方式
Vue3中監(jiān)聽ref定義的數(shù)組,需根據(jù)監(jiān)聽需求選擇合適的監(jiān)聽方法,對于空數(shù)組,推薦使用深度監(jiān)聽來捕捉數(shù)組內(nèi)部變化,同時,確保修改數(shù)組的方式是響應(yīng)式的,以保證監(jiān)聽器能正常工作,根據(jù)具體需求,可以選擇直接深度監(jiān)聽、監(jiān)聽數(shù)組長度變化或提取屬性監(jiān)聽等方案2025-10-10
基于Vue+ElementUI的省市區(qū)地址選擇通用組件
這篇文章主要介紹了基于Vue+ElementUI的省市區(qū)地址選擇通用組件,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
Vue3 路由配置 + 路由跳轉(zhuǎn) + 路由傳參的操作方法(動態(tài)路由傳參
這篇文章主要介紹了Vue3 路由配置 + 路由跳轉(zhuǎn) + 路由傳參的操作方法(動態(tài)路由傳參 + 普通路由傳參),本文通過實例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧2025-05-05

