欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

完美解決webpack打包c(diǎn)ss背景圖片路徑問題

  發(fā)布時(shí)間:2020-07-01 15:23:12   作者:佚名   我要評論
這篇文章主要介紹了完美解決webpack打包c(diǎn)ss背景圖片路徑問題,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

在vue組件的style標(biāo)簽內(nèi)部有如下一段使用背景圖片的css代碼

background-image: url("../assets/img/icon_add.png");

在webpack中css-loader的解析配置如下

{
        test: /\.(css|less)$/,
        exclude: path.resolve(__dirname, 'node_modules'),
        use: ['style-loader', 'css-loader', 'less-loader']
    }

打包后在dist目錄的發(fā)現(xiàn)沒有css文件。這是因?yàn)閏ss文件被轉(zhuǎn)化成了js文件。

 

此時(shí)啟動(dòng)項(xiàng)目,背景圖片引入正確,能夠正常顯示。

2 將css文件提取到單獨(dú)的文件目錄

使用 mini-css-extract-plugin 將css文件單獨(dú)提取到dist目錄下的css目錄下。

2.1 loader配置

{
        test: /\.(css|less)$/,
        exclude: path.resolve(__dirname, 'node_modules'),
        use: [MiniCssExtractPlugin.loader, 'css-loader', 'less-loader']
    }

2.2 plugin配置

new MiniCssExtractPlugin({
            filename: 'css/[name][contenthash].css',
        })

打包后,dist目錄結(jié)構(gòu)如下

可以看到此時(shí)圖片在根目錄(dist)目錄下,但是css文件處在dist/css/目錄下?,F(xiàn)在來看一下打包后的css文件是如何引用圖片的路徑。

2.3 打包結(jié)果

background-image: url(bb65a86a2fe7669e483a56b970bea421.png);

可以看到在dist/css目錄下沒有bb65a86a2fe7669e483a56b970bea421.png圖片。因此圖片無法正常顯示。理想的情況是

background-image: url(../bb65a86a2fe7669e483a56b970bea421.png);

3 解決方案

更改loader的配置如下

{
        loader: MiniCssExtractPlugin.loader,
        options: {
            // 當(dāng)前的css所在的文件相對于打包后的根路徑dist的相對路徑
            publicPath: '../'
        }
    }, 'css-loader', 'less-loader'

總結(jié)

分離css文件導(dǎo)致css背景圖片路徑錯(cuò)誤,解決方案的核心是配置publicPath的值,publicPath的值是css文件所在的文件目錄相對于根目錄的相對路徑值。 比如,根路徑是/,css文件所在的目錄是/css/,因此相對路徑是..

意外問題

為什么webpack打包后,css文件被混入到bundle.js文件中,但是圖片沒有被混入到bundle.js中???

到此這篇關(guān)于完美解決webpack打包c(diǎn)ss背景圖片路徑問題的文章就介紹到這了,更多相關(guān)webpack打包c(diǎn)ss背景圖片路徑內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用CSS cross-fade()實(shí)現(xiàn)背景圖像半透明效果的示例代碼

    這篇文章主要介紹了使用CSS cross-fade()實(shí)現(xiàn)背景圖像半透明效果的示例代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • CSS3為背景圖設(shè)置遮罩并解決遮罩樣式繼承問題

    這篇文章主要介紹了CSS3為背景圖設(shè)置遮罩并解決遮罩樣式繼承問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小
    2020-06-22
  • CSS設(shè)置div背景圖的實(shí)現(xiàn)代碼

    這篇文章主要介紹了CSS設(shè)置div背景圖的實(shí)現(xiàn)代碼,代碼簡單易懂,非常不錯(cuò),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-14
  • CSS背景圖片設(shè)置的6個(gè)有趣的技巧

    這篇文章主要介紹了CSS背景圖片設(shè)置的6個(gè)有趣的技巧,本文通過截圖實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-12
  • CSS3 實(shí)現(xiàn)響應(yīng)鼠標(biāo)移動(dòng)背景圖片漂移效果的用戶介紹卡片源碼

    這是一款基于CSS3 實(shí)現(xiàn)響應(yīng)鼠標(biāo)移動(dòng)背景圖片漂移效果的用戶介紹卡片源碼。畫面背景默認(rèn)顯示一副男孩的信息介紹卡片,卡片帶有圖文介紹、圖標(biāo)鏈接,以及背景懸浮陰影效果。
    2020-05-06
  • 使用css寫帶紋理漸變背景圖的示例代碼

    這篇文章主要介紹了使用css寫帶紋理漸變背景圖,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-20

最新評論