博客
关于我
webpack对css代码进行分割
阅读量:285 次
发布时间:2019-03-01

本文共 2049 字,大约阅读时间需要 6 分钟。

Webpack CSS 提取与优化配置指南

一、安装依赖

在项目根目录下运行以下命令安装所需插件:

npm install -D mini-css-extract-pluginnpm install -D optimize-css-assets-webpack-plugin

二、Webpack 配置

webpack.prod.js 文件中添加以下配置:

const MiniCssExtractPlugin = require('mini-css-extract-plugin')const OptimizeCssAssetsWebpackPlugin = require('optimize-css-assets-webpack-plugin')module.exports = {    // ... 其他 webpack 配置    plugins: [        new MiniCssExtractPlugin({            filename: '[name].css',            chunkFilename: '[name].chunk.css'        }),        new OptimizeCssAssetsWebpackPlugin({            optimization: {                minimizer: [                    new OptimizeCssAssetsWebpackPlugin()                ]            }        })    ]}

三、CSS 处理规则

修改 webpack.config.js 中的 CSS 加载器配置:

module.exports = {    module: {        rules: [            {                test: /\.css$/,                use: [                    MiniCssExtractPlugin.loader,                    'css-loader',                    'postcss-loader'                ]            },            {                test: /\.scss$/,                use: [                    MiniCssExtractPlugin.loader,                    {                        loader: 'css-loader',                        options: {                            importLoaders: 2,                            modules: true                        }                    },                    'sass-loader',                    'postcss-loader'                ]            }        ]    }}

四、CSS 资产优化

启用 optimize-css-assets-webpack-plugin 后,CSS 资产将被压缩合并:

module.exports = {    optimization: {        minimizer: [            new OptimizeCssAssetsWebpackPlugin()        ]    }}

五、示例 CSS 文件

style1.css

body {    background: red;}

style2.css

body {    font-size: 25px;}

合并后效果

body {    background: red;    font-size: 25px;}

六、小贴士

  • 热更新支持: mini-css-extract-plugin 不支持 CSS/SCSS 代码热更新,适合在线环境使用。
  • 模块化处理: 配置中 importLoaders: 2modules: true 确保了 SCSS 文件的正确模块化处理。
  • 压缩优化: optimize-css-assets-webpack-plugin 会自动合并和压缩 CSS 资产,提升打包效率和文件大小。
  • 通过以上配置,您可以轻松实现 CSS 提取与优化,提升项目性能和构建效率。

    转载地址:http://gqko.baihongyu.com/

    你可能感兴趣的文章
    PIL.Image、cv2的img、bytes相互转换
    查看>>
    Pillow lacks the JPEG 2000 plugin
    查看>>
    ping 命令的七种用法,看完瞬间成大神
    查看>>
    Pinia:$patch的使用场景
    查看>>
    Pinia:$subscribe()的使用场景
    查看>>
    Pinpoint对Kubernetes关键业务模块进行全链路监控
    查看>>
    Pinterest 大规模缓存集群的架构剖析
    查看>>
    pintos project (2) Project 1 Thread -Mission 1 Code
    查看>>
    PinYin4j库的使用
    查看>>
    PIP
    查看>>
    pip install goose-extractor // SyntaxError: Missing parentheses in call to 'print'
    查看>>
    pip install 出现报asciii码错误的解决
    查看>>
    pip throws TypeError: parse() got an unexpected keyword argument ‘transport_encoding‘ 在尝试安装新软件包时
    查看>>
    pip 下载慢
    查看>>
    pip 升级报错AttributeError: ‘NoneType’ object has no attribute ‘bytes’
    查看>>
    pip 安装出现异常
    查看>>
    Pip 安装失败:需要 SSL
    查看>>
    Pip 安装挂起
    查看>>
    pip 或 pip3 为 Python 3 安装包?
    查看>>
    pip/pip3更换国内源
    查看>>