資源相對引用路徑
問題描述
通常狀況下,經過webpack+vuecli默認打包的css、js等資源,路徑都是絕對的。css
但當部署到帶有文件夾的項目中,這種絕對路徑就會出現問題,由於把配置的static
文件夾當成了根路徑,那麼要解決這種問題,就得引用相對路徑。html
解決辦法
打開webpack.prod.conf.js
vue
找到output
:增長 publicPath: './'
, 便可,如圖。webpack
那麼這樣後,資源的引用路徑就正確了。web
固然在config文件夾下的index.js中修改 assetsPublicPath: './'
一樣也能夠達到資源的相對引用。app
背景圖片的引用問題
上面雖然解決了資源路徑的引用問題,可是資源裏面的背景圖片,不像index.html中加載資源同樣,經過./static/js/app.js
引用能夠正常加載,圖片資源是經過css加載的,如 background: url("../../assets/images/logo-index.png") no-repeat;
被相對打包後變成了url(static/img/logo-index.2f00bf2.png) no-repeat
因此咱們要保留css引用圖片的正常路徑,即:post
url(../../static/img/logo-index.2f00bf2.png) no-repeat
那麼就須要修改build文件夾下的utils.js代碼,如圖所示:字體
添加如圖所示的一行代碼,這樣不管是字體仍是圖片的引用問題都能解決。ui