使用 “mini-css-extract-plugin” 提取css到單獨(dú)的文件

一、前言

我們在使用webpack構(gòu)建工具的時候,通過style-loader,可以把解析出來的css通過js插入內(nèi)部樣式表的方式到頁面中,插入的結(jié)果如下:

<style>
.wrapper {
  width:100%;
  height:50px;
}
.container {
  width:1200px;
  margin:0 auto;
}
...
</style>

如果不想使用這種方式,想用外部樣式表的方式,那應(yīng)該怎么做呢?

二、使用插件

這里有兩個插件可以用,extract-text-webpack-pluginmini-css-extract-plugin,使用之后,就可以把css提取到單獨(dú)的文件。通過配合html-webpack-plugin插件的使用,生成的html就會自動引入css文件啦,開心。

/* 這是提取css的文件,main.css */
.index-wrapper-qpZko {
    width: 220px;
    height: 50px;
}
...
<!-- 這是通過‘html-webpack-plugin’生成的html,會自動加入提取出來的公共css文件 -->
<link href="../main.css?9310f73f2ea21a1d0717" rel="stylesheet"></head>

通過extract-text-webpack-plugin插件

在這里,extract-text-webpack-plugin不是重點(diǎn),所以只介紹一下該插件需要注意的幾個點(diǎn):

  • 如果是默認(rèn)添加,不指定版本,則添加該插件只支持webpack 3
  • 如果是需要需要添加其他webpack版本的支持,需要特別指定版本
# for webpack 4
npm install --save-dev extract-text-webpack-plugin@next

# for webpack 3
npm install --save-dev extract-text-webpack-plugin

# for webpack 2
npm install --save-dev extract-text-webpack-plugin@2.1.2

# for webpack 1
npm install --save-dev extract-text-webpack-plugin@1.0.1

接下來,來看看mini-css-extract-plugin插件,這個是官方推薦的。

通過mini-css-extract-plugin插件

mini-css-extract-plugin插件也是用來提取css到單獨(dú)的文件的,該插件有個前提條件,只能用于webpack 4及以上的版本,所以如果使用的webpack版本低于4,,那還是用回extract-text-webpack-plugin插件。

直接來吧,優(yōu)點(diǎn)啥的,自己上GitHub看看哈。

添加依賴

npm install --save-dev mini-css-extract-plugin

webpack配置

const MiniCssExtractPlugin = require("mini-css-extract-plugin");
module.exports = {
    plugins: [
        new MiniCssExtractPlugin({
            filename: "[name].css",
            chunkFilename: "[id].css"
        })
    ],
    module: {
        rules: [
            {
                test: /\.css$/,
              use: [
                  MiniCssExtractPlugin.loader,
                  "css-loader"
              ]
            }
        ]
    }
}

這里還是要提醒一下,如果只有一個入口filename寫不寫硬編碼都沒關(guān)系,因?yàn)榫椭挥幸粋€入口,但如果有多個入口,那就不能使用硬編碼了,不然后面入口生成的css文件會覆蓋前面生成的。這是我之前在extract-text-webpack-plugin踩過的坑。

三、最后

是的,到此,mini-css-extract-plugin的基本使用就這么些了,要看更多的使用,還是看官方介紹哈。

好了,繼續(xù)研究其他CSS相關(guān)的知識。rempostcss、sass、less、...

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容