Webpack 中 CSS 压缩插件

面试知识储备--打包工具篇(webpack和vite) 打包之后的代码我们很难看懂,不好调试,我们希望我们可以去调试打包之后的代码,以提高开发体验。SourceMap 会生成xx.map,里面包含源代码和构建后代码每一行的映射关系,浏览器在运行打包后的代码时,如果遇到报错,会去查找对应的 SourceMap 文件,然后把报错位置映射到源代码上,这样就便于我们进行调试了。浏览器在用户访问页面的时候,为了加快加载速度,会对用户访问的静态资源进行存储,但是每一次代码升级或者更新,都需要浏览器去下载新的代码,最方便和最简单的更新方式就是引入新的文件名称。 阅读详情

Optimize CSS Assets Webpack Plugin

一个优化\减少CSS资源的Webpack插件。

该插件有什么作用?

  1. 它将在Webpack构建期间搜索CSS资源,并将优化\最小化CSS(默认情况下,它使用cssnano,但可以指定自定义CSS处理器)。
  2. 解决了extract-text-webpack-plugin CSS重复问题:
  3. 由于extract-text-webpack-plugin仅捆绑(合并)文本块,如果它用于捆绑CSS,则捆绑包可能具有重复的条目(块可以是重复的,但是当合并时,可以创建重复的CSS)。

安装:

 npm install --save-dev optimize-css-assets-webpack-plugin

注意:对于webpack v3或更低版本,请使用optimize-css-assets-webpack-plugin@3.2.0。 optimize-css-assets-webpack-plugin@4.0.0及以上版本支持webpack v4。

参数:

该插件可以接收以下选项(所有这些都是可选的):

  1. assetNameRegExp:一个正则表达式,指示应优化\最小化的资产的名称。提供的正则表达式针对配置中ExtractTextPlugin实例导出的文件的文件名运行,而不是源CSS文件的文件名。默认为/\.css$/g
  2. cssProcessor:用于优化\最小化CSS的CSS处理器,默认为cssnano。这应该是一个跟随cssnano.process接口的函数(接收CSS和选项参数并返回一个Promise)。
  3. cssProcessorOptions:传递给cssProcessor的选项,默认为{}
  4. canPrint:一个布尔值,指示插件是否可以将消息打印到控制台,默认为true

实例:

var OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin');
module.exports = {
  module: {
    rules: [
      {
        test: /\.css$/,
        loader: ExtractTextPlugin.extract('style-loader', 'css-loader')
      }
    ]
  },
  plugins: [
    new ExtractTextPlugin('styles.css'),
    new OptimizeCssAssetsPlugin({
      assetNameRegExp: /\.optimize\.css$/g,
      cssProcessor: require('cssnano'),
      cssProcessorOptions: { safe: true, discardComments: { removeAll: true } },
      canPrint: true
    })
  ]
};

原文地址: https://www.npmjs.com/package/optimize-css-assets-webpack-plugin

preprocessor-loader:将令人敬畏的“条件编译”带入Webpack,以及更多 webpack-preprocessor-loader 将令人敬畏的“条件编译”功能带到Webpack等等。 选项 debug _ directives params verbose 内置指令 #!if / #!else / #!elseif / #!endif #!debug 注意事项 带代码的内联指令 林亭 执照 为什么 借助webpack-preprocessor-loader使生活变得轻松! 现在,利用Webpack中Conditional Compilation的Webpack来基于条件指令输出特定的代码。 通过这种方式,您可以: 隐藏最终结果中的特定内容; 按环境导入不同的软件包(例如:开发/生产); 删除生产中的调试; 在生产中拆分代码,而在开发中捆绑它们; 许多其他情况... 只需写: // #!if ENV === 'develop' i 立即下载

相关推荐

解决Vue打包上线之后部分CSS不生效的问题

首先注释掉webpack.prod.conf.js中下面的代码 new OptimizeCSSPlugin({ cssProcessorOptions: config.build.productionSourceMap ? { safe: true, map: { inline: false } } : { safe: true } }), 然后在utils.js中添加, minimize:true const cssLoader = { loader: 'css-loader', options: { sourceMap: options.sourceMap, mini

webpack4打包流程分析,实现一个简易的webpack打包器

文章内容输出来源:拉勾教育前端高薪训练营 webpack打包的流程大致可以归纳成: options:通过config文件传递进来的配置参数 webpack:生成Compiler实例及其他webpack初始化逻辑 compiler:编译的核心桥梁,根据配置文件,通过执行webpack(options),生成的并返回一个Compiler实例compiler(自我理解为一个编译工厂) 2.1 在生成的Compiler实例上将options配置参数挂载到compiler.options,以方便将来获取配置参数.

yhzzy的博客 553

0欧电阻、电感、磁珠单点接地时有什么区别?

0欧电阻、电感、磁珠单点接地时有什么区别? #电阻,#电感,#磁珠 一、0欧姆电阻 重点介绍:模拟地和数字地单点接地。 只要是地,最终都要接到一起,然后入大地。如果不接在一起就是“浮地”,存在压差,容易积累电荷,造成静电。地是参考0电位,所有电压都是参考地得出的,地的标准要一致,故各种地应短接在一起。 人们认为大地能够吸收所有电荷,始终维持稳定,是最终的地参考点。虽然有些板子没有接大地,但发电厂是接大地的,板子上的电源最终还是会返回发电厂入地。如果把模拟地和数字地大面积直...

FAguangdeer的博客 445

vue项目打包失败问题记录

"vue": "^2.7.14"项目不知名原因打包失败

小混子得得的博客 9768

激光及激光器超全细节&原理总结

本文详细展示了激光、激光器、PN结、半导体激光器、光纤激光器的原理和应用;

guangwulv的博客 5344

摄像机实时接入分析平台视频分析网关AI智能分析智慧营业厅方案

通过智能化的改造,可以提高营业厅的运营效率,降低运营成本,同时提升客户体验和安全保障。

EasyDarwin开源社区技术博客 703

CSS 优化策略之webpack插件压缩CSS体积

CSS 优化策略之webpack插件压缩CSS体积 对于CSS文件中包含的不必要的字符,例如注释、空白和缩进,我们可以在生产环境中将其删除,以达到减小文件大小的目的,这种技术也叫minification。而这些可以利用webpack构建工具进行实现。 mini-css-extract-plugin 提取CSS 安装插件: npm install --save-dev mini-css-extract-plugin webpack.config.js 配置 const MiniCssExtractPl

找到Web 1798

ROS2_Moveit2_Ur5e_Grasp项目详解(二):核心模块功能解析

本文深入解析了ROS2_Moveit2_Ur5e_Grasp项目的核心模块功能。重点阐述了OctoMap建图模块如何为机械臂提供实时三维环境感知,并详细介绍了Robotiq夹爪与MoveIt2的集成控制、UR5e的运动规划策略,以及视觉模块如何协同工作,最终实现从目标检测到动态抓取的完整闭环。

weixin_29254029的博客 111

3-3 webpack4插件-压缩CSS和优化CSS结构

通过optimize-css-assets-webpack-plugin插件压缩CSS和优化CSS结构。 具体步骤 1.安装(下载) 打开终端,进入到项目文件夹路径,输入命令cnpm install --save-dev optimize-css-assets-webpack-plugin 2.配置webpack.config.js文件 首先需要引入optimize-css-assets-webpack-plugin插件,代码如下: const OptimizeCSSAssetsPlugin = requi

xt_123456的博客 485

【Transformer 相关理论深入理解】注意力机制、自注意力机制、多头注意力机制、位置编码

transformer原理

qq_38253797的博客 2万+

ContextCapture系列教程(三):大疆精灵4RTK版无人机POS数据提取、处理(处理后勉强达到免相控要求)

大疆精灵 Phantom 4 RTK于2018年发布,是大疆为高精度建图与精准飞行设计的行业级无人机,在精灵4无人机外形的基础上,机身增加了RTK模块,可以实现高精度 RTK 定位导航,相机与 RTK 系统采用微秒级时间同步,可以通过app 进行航线规划飞行

pausau的博客 1万+

webpack项目css插件压缩等步骤

css插件压缩等步骤

小菜鸟的博客 1294

SAP CRP能力计划详细说明操作及相关配置

2、求助朋友同事的希望破灭后,网上找了资料发现在百度搜索的资料基本都是没有说明白什么才产能计划,都没有详细的操作说明,然后用google去搜索了一些相关的文章,好像也没有详细的文章。然后也去SAP的官网搜索了相关的文章,都是文字性的表述,对系统的配置都没有很大的帮助,很久之前有记得在隐身人的博客中有提到CRP的能力计划的文章,然后试着去找了一下相关的文章。5、首先产能排产肯定涉及的就是是能力的问题,能力第一个能想到的就是工作中心中的能力页签,在流程制造中也叫资源,其实都是一个东西。

我小时候很黑的博客 4516

webpack使用mini-css-extract-plugin插件分离css样式后 压缩css样式代码 已及js代码

npm iterser-webpack-pluginoptimize-css-assets-webpack-plugin -D webpack.config.js中配置优化项optimization: const TerserJSPlugin = require('terser-webpack-plugin'); const MiniCssExtractPlugin =...

weixin_46337813的博客 2119

Android 12.0 系统开机设置默认横屏显示

在12.0的系统产品开发中,对于产品需求来说,由于是宽屏设备所以产品需要开机默认横屏显示,开机横屏显示这就需要从两部分来实现,一部分是开机动画横屏显示,另一部分是系统显示横屏显示,从这两方面就可以做到开机默认横屏显示了。

安卓兼职framework和app工程师的博客 3743

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

filter在ios不兼容 js_Webpack4-(4)js、css压缩插件

我们在没有将css样式从style标签分离出来且在mode: 'production'(生产环境)时,js文件会自动进行压缩。如果没有不知道如何分离css样式请参照: cyang:Webpack4-(3)css、less、sass-loader抽离css文件以及浏览器前缀兼容插件但是我们将css样式从style标签分离出来后,使用了mini-css-extract-plugin这个插件,这样js文...

weixin_36268722的博客 165

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

06 —— Webpack优化—压缩过程

css代码提取后想要压缩 —— 使用css-minimizer-webpack-plugin插件。下载 css-minimizer-webpack-plugin 本地软件包。

m0_73557953的博客 960

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

webpack5 CssMinimizerPlugin css压缩

它的主要目标是将 JavaScript 文件打包在一起,打包后的文件用于在浏览器中使用,但它也能够胜任转换(transform)、打包(bundle)或包裹(package)任何资源(resource or asset)。我们应该是单独的 Css 文件,通过 link 标签加载性能才好。它的主要目标是将 JavaScript 文件打包在一起,打包后的文件用于在浏览器中使用,但它也能够胜任转换(transform)、打包(bundle)或包裹(package)任何资源(resource or asset)。

周家大小姐 2154

webpack中对CSS压缩

1.在终端下载相关CSS压缩插件 PS D:\Webpack\03-webpackcss> npm i -D css-minimizer-webpack-plugin //webpack5以上官方推荐 //旧的命令如下 PS D:\Webpack\03-webpackcss> npm i -D optimize-css-assets-webpack-plugin 2.在webpack.config.js中引入压缩插件,并且在插件配置plugin:{ }中进行实例化 const CS.

Coralpapy的博客 1244

CSSO Webpack 插件使用教程

CSSO Webpack 插件使用教程 项目介绍 CSSO Webpack 插件是一个用于优化和压缩 CSS 文件的 Webpack 插件。它利用 CSSO(CSS Optimizer)库来实现 CSS 文件的压缩和优化,从而减少文件大小,提高加载速度。 项目快速启动 安装 首先,你需要安装 csso-webpack-plugin 和 webpack: npm install --save-dev...

gitblog_00752的博客 1033

webpack 多个css文件合并成一个

以上步骤可以帮助你将多个CSS文件合并成一个文件,并进行压缩和兼容性处理。引用的配置信息来源于。运行Webpack构建命令,Webpack会将所有CSS文件合并并输出到一个文件中。在Webpack中,将多个CSS文件合并成一个文件通常涉及到使用。在你的JavaScript或Vue组件中,正常导入CSS文件。,它用于将CSS提取到单独的文件中。和相应的加载器(loaders)。如果你需要压缩CSS文件,可以结合。为了确保CSS兼容性,你可以使用。

weixin_43891869的博客 1554

vue webpack压缩代码_vue.js - 解决vue-cli打包后自动压缩代码

一.webpack中引入的压缩代码/build/webpack.prod.conf.jsconst OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')const UglifyJsPlugin = require('uglifyjs-webpack-plugin')压缩js 的插件叫uglifyjs-webpack-p...

weixin_39722196的博客 443

从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制

本文同时发表于尚妆github博客,欢迎订阅! 注:本文查看的源码是webpack1.x版本,2.x版本已经不存在这个问题,查看描述。 webpack1.x时代讨论地比较热烈的一个话题,就是UglifyJsPlugin插件为什么会对其他loader造成影响。我这里有个曾经遇到的问题,可以查看我为此编写的一个demo,有兴趣可以clone试...

weixin_34262482的博客 149

12. webpack4压缩css

webpack4 css打包压缩optimize-css-assets-webpack-plugin

weixin_43893483的博客 818

webpack5css抽离和压缩

文章目录引导mini-css-extract-plugin自定义打包出来的css文件路径和文件名称css压缩 `css-minimizer-webpack-plugin` 引导 上一篇讲解了 webpack的loader 我们已经可以通过loader加载css了 但是现在的代码是和html在一起的 我需要把style的代码放置到一个单独的文件里通过link去加载 mini-css-extract-plugin 这个功能需要一个插件npm i mini-css-extract-plugin -D –

haosicx的博客 611
上一篇: nodejs热加载工具:node-supervisor
下一篇: 安卓微信分享图标不显示的问题
大叔0o0
博客等级 码龄10年 31粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值