美文网首页前端框架js css html
这样拆分和压缩css代码

这样拆分和压缩css代码

作者: 一颗冰淇淋 | 来源:发表于2022-06-12 19:54 被阅读0次

在【拆分】和【压缩】css代码之前,首先要配置 loader 处理不同的 css 资源,因为 webpack 没有默认可处理 css 资源的规则,具体可参考这一篇 webpack处理css/less资源

style-loader

loader 处理不同类型的 css 资源后通过 style-loader 将css代码添加到 html 文件中,但此时 css 代码并没有生成单独的文件,而是被编译到了 js 文件中。

1_css被编译到js文件中.png

所以在 html 页面中,css 代码是通过 style 标签创建的,而不是直接引入 css 资源地址。

2_style-loader.png

MiniCssExtractPlugin

当 css 文件较多时,全部打包至 js 文件,会使得 js 文件体积很大,将 css 代码抽离到单独的文件中能减少单个文件的加载压力。可通过 MiniCssExtractPlugin 实现。

安装 mini-css-extract-plugin, 定义 plugin,并用 MiniCssExtractPlugin.loader 替换 style-loader

const MiniCssExtractPlugin = require('mini-css-extract-plugin');

module.exports = {
  // 省略其余配置  
  module: {
    rules: [
      {
        test: /\.css$/,
        use: [MiniCssExtractPlugin.loader, 'css-loader'], // 省略其它loader
      },
    ],
  },
  plugins: [
    new MiniCssExtractPlugin({
      filename: './css/[name].css',
      chunkFilename: './css/[name].css',
    }),
  ],
};

编译后的 css 将两个 css 文件代码合到了一起

3_miniCssExtractPlugin.png

css 资源被引入到 html 页面中

4_引入css资源.png

CssMinimizerWebpackPlugin

MiniCssExtractPlugin 只对 css 代码进行了拆分,压缩需要使用到 CssMinimizerWebpackPlugin

安装 css-minimizer-webpack-plugin 后,在 optimization 属性中配置。

const CssMinimizerWebpackPlugin = require('css-minimizer-webpack-plugin');

module.exports = {
  // 其它配置省略
  optimization: {
    minimizer: [new CssMinimizerWebpackPlugin({})],
  },
};

可以看到压缩后css代码和源代码区别不大,这是因为如果修改选择器和属性名称,很难再与原来的元素对应,会需要增加复杂的处理映射关系的逻辑处理,所以对 css 的压缩主要是去除空格的操作。

5_压缩css代码.png

总结

  • style-loader 用于创建 style 标签,将 css 代码添加到 html 页面中
  • MiniCssExtractPlugin 会将处理好的 css 代码编译到新的 css 文件中,并在 html 文件中引入
  • CssMinimizerWebpackPlugin 压缩 css 文件中的代码

以上就是拆分和压缩css代码的介绍, 更多有关 webpack 的内容可以参考我其它的博文,持续更新中~

相关文章

  • 这样拆分和压缩css代码

    在【拆分】和【压缩】css代码之前,首先要配置 loader 处理不同的 css 资源,因为 webpack 没有...

  • 生产环境

    需要的东西 1 .压缩js代码,css代码 2 .拆分公共代码,分割第三方库等操作3 .css前缀补齐4 .移动端...

  • CSS样式优化(2019-02-18)

    对于CSS优化可以从网络性能和css语法优化两方面来考虑。 1.css压缩 压缩css代码的工具:A、YUI co...

  • Gulp 使用gulp压缩CSS

    我们除了可以使用 gulp 压缩 JS 文件,还可以压缩 CSS,压缩 CSS 代码可以降低 CSS 文件的大小,...

  • Gulp 使用gulp压缩CSS

    我们除了可以使用 gulp 压缩 JS 文件,还可以压缩 CSS,压缩 CSS 代码可以降低 CSS 文件的大小,...

  • 一些前端开发注意的细节

    1.如何对CSS和Js进行优化CSS1.代码去重2.压缩代码量(很多在线工具)3.雪碧图压缩4.CSS文件合并 j...

  • 首屏加载优化

    一 : 减少资源大小代码压缩Gzip图片压缩代码拆分二 减少 HTTP 请求数量添加缓存service work本...

  • Webpack高级配置「三」-- 抽离CSS文件并压缩

    本地开发环境不需要压缩css,配置保持不变;生产中压缩css可以优化产出代码,故只在生产环境进行css压缩; 在开...

  • webpack学习笔记(3)

    1、HTML、CSS和JS代码压缩 JS文件的压缩webpack4内置了uglifyjs-webpack-plug...

  • Web性能优化

    很大的话题,我的习惯是,很简单的说一下。 压缩源码和图片js混淆压缩(必须代码规范),css普通压缩jpg质量压缩...

网友评论

    本文标题:这样拆分和压缩css代码

    本文链接:https://www.haomeiwen.com/subject/ewagmrtx.html