抽离 css 文件

  1. 目前 css 代码被 css-loader 转换后,交给 style-loader 进行处理,style-loader 使用的方式是用一段 js 代码,将样式加入到 style 元素中;
  2. 在实际的开发中,往往希望依赖的样式最终形成一个 css 文件 (link 的方式引入),此时,就需要用到一个库 mini-css-extract-plugin,该库提供了 1plugin1loader
    1. plugin:负责生成 css 文件;
    2. loader:负责记录要生成的 css 文件的内容,同时导出开启 css-module 后的样式对象;

配置文件示例

const HtmlWebpackPlugin = require("html-webpack-plugin");
var { CleanWebpackPlugin } = require("clean-webpack-plugin");
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
module.exports = {
    mode: "development",
    entry: {
        main: "./src/index.js",
        other: "./src/other.js"
    },
    output: {
        filename: "js/[name].[chunkhash:5].js",
        publicPath: "/"
    },
    module: {
        rules: [
            {
                test: /\.less$/, 
                use: [
                  MiniCssExtractPlugin.loader, // 替换掉了 "style-loader"
                  {
                    loader: "css-loader",
                    options: {
                      modules: true,
                      minimize: true,
                    },
                  },
                  "postcss-loader",
                  "less-loader"
                ],
            },
            {
                test: /\.jpg$/, use: {
                    loader: "file-loader",
                    options: {
                        name: "img/[hash:5].[ext]"
                    }
                }
            }
        ]
    },
    devServer: {
        open: true
    },
    plugins: [
        new CleanWebpackPlugin(),
        new HtmlWebpackPlugin({
            template: "./public/index.html"
        }),
        new MiniCssExtractPlugin({
            filename: "css/[name].[contenthash:5].css"
        })
    ]
}
打赏作者
您的打赏是我前进的动力
微信
支付宝
评论

中午好👏🏻,我是 ✍🏻   疯狂 codding 中...

粽子

这有关于前端开发的技术文档和你分享。

相信你可以在这里找到对你有用的知识和教程。

了解更多

目录

  1. 1. 抽离 css 文件
  2. 2. 配置文件示例