原問題
#wrapper{ width:100%; height:100%; position:fixed; background-image:url(./img/open_bg.jpg) }
在.vue文件中的CSS樣式中,使用背景圖
在webpack打包后,路徑不對,怎么辦呢?
回答
如果你用了vue-cil,那么在build目錄下找到utils.js中的ExtractTextPlugin.extract({}),里面添加下面這個屬性就完美解決了publicPath: '../../'
解釋
文件最終會打包壓縮為js。當運行的時候,css中的相對路徑指向已經發生變化指向了根目錄,所以出現加載錯誤的問題。
下面是這個插件的解釋。
extract-text-webpack-plugin
作用:該插件的主要是為了抽離css樣式,防止將樣式打包在js中引起頁面樣式加載錯亂的現象。
插件參數:該插件有三個參數意義分別如下:
use:指需要什么樣的loader去編譯文件,這里由於源文件是.css所以選擇css-loader
fallback:編譯后用什么loader來提取css文件
publicfile:用來覆蓋項目路徑,生成該css文件的文件路徑
來源
https://www.zhihu.com/question/39953434