【前端学习记录】webpack学习之mini-css-extract-plugin插件

用LightRAG+Ollama搭建本地知识库:从文档上传到智能问答的完整流程 本文详细介绍了如何利用LightRAG与Ollama构建企业级本地知识库,涵盖从文档预处理到智能问答的完整流程。通过实战案例展示,该方案能高效处理海量文档,实现语义搜索与知识图谱关联分析,显著提升信息检索效率。特别适合金融、医疗等领域的技术团队快速搭建智能知识管理系统。 阅读详情

前言

最近在学习尚硅谷的webpack5课程,看到mini-css-extract-plugin这个插件的时候,感觉很有帮助,之前都没有在css这方面深入思考过,课程中的一些记录写在下面

为什么需要优化CSS

Css 文件目前被打包到 js 文件中,当 js 文件加载时,会创建一个 style 标签来生成样式(先去加载js文件,再去创建style 标签来生成样式)

这样对于网站来说,会出现闪屏现象,用户体验不好(控制台newwork调慢时可以看到一个白屏,当js解析完成后,才会看到页面)

如何解决

我们应该是单独的 Css 文件,通过 link 标签加载性能才好。因此我们要将CSS给提取出来,以此来优化性能。

在webpack5中有一个插件可以解决这个问题,即mini-css-extract-plugin

MiniCssExtractPlugin

本插件会将 CSS 提取到单独的文件中,为每个包含 CSS 的 JS 文件创建一个 CSS 文件,并且支持 CSS 和 SourceMaps 的按需加载。

本插件基于 webpack v5 的新特性构建,并且需要 webpack 5 才能正常工作。

与 extract-text-webpack-plugin 相比:

  • 异步加载
  • 没有重复的编译(性能)
  • 更容易使用
  • 特别针对 CSS 开发

使用方法

1. 安装
npm install --save-dev mini-css-extract-plugin
2. 使用
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
module.exports = {
  ...
  module: {
    rules: [
      {
        // 用来匹配 .css 结尾的文件
        test: /\.css$/,
        // use 数组里面 Loader 执行顺序是从右到左
        use: [MiniCssExtractPlugin.loader, "css-loader"],
      },
      {
        test: /\.less$/,
        use: [MiniCssExtractPlugin.loader, "css-loader", "less-loader"],
      },
      {
        test: /\.s[ac]ss$/,
        use: [MiniCssExtractPlugin.loader, "css-loader", "sass-loader"],
      },
      {
        test: /\.styl$/,
        use: [MiniCssExtractPlugin.loader, "css-loader", "stylus-loader"],
      },
  },
  plugins: [
    new ESLintWebpackPlugin({
      // 指定检查文件的根目录
      context: path.resolve(__dirname, "../src"),
    }),
    new HtmlWebpackPlugin({
      // 以 public/index.html 为模板创建文件
      // 新的html文件有两个特点:1. 内容和源文件一致 2. 自动引入打包生成的js等资源
      template: path.resolve(__dirname, "../public/index.html"),
    }),
    // 提取css成单独文件
    new MiniCssExtractPlugin({
      // 定义输出文件名和目录
      filename: "static/css/main.css",
    }),
  ],
  mode: "production",
};

打包
npm run build 

执行命令后打包文件夹下会生成一个css文件。再次刷新页面,发现无闪屏现象。

注意
  1. 使用时将 style-loader 替换成 MiniCssExtractPlugin.loader(style-loader会创建style标签,没有必要)
  2. 插件和loader都要进行替换才行
读书笔记:深度学习入门-基于python的理论与实现(俗称鱼书) 终于从头到尾把鱼书看完啦,真的是非常入门,非常查漏补缺,对新手很友好,对有一定基础的人也非常不错。看完不复习等于没看,所以今天开始复盘,顺便写这篇读书笔记。希望分享给没看过这本书或者看过这本书的同僚们参考,欢迎大家指教。我将从第三章神经网络开始复习,前两章内容书里已经非常基础and清楚了。(会持续更新滴)......... 阅读详情

相关推荐

针对中文CLIP模型训练失效的解决方案记录

解决了中文CLIP模型无法正确训练的问题

weixin_45906434的博客 1621

mini-css-extract-plugin插件快速入门

前言 webpack 4.0以前,我们通过extract-text-webpack-plugin插件,把css样式从js文件中提取到单独的css文件中。extract-text-webpack-plugin插件的优缺点: 更多介绍请看移步:webpack.docschina.org/plugins/ext… webpack 4.0以后,官方推荐使用mini-css-extract-plugin插件来打包css文件(从css文件中提取css代码到单独的文件中,对css代码进行代码压缩等)。 使.

aa_mmnn的博客 1万+

维纳(Wiener)复原滤波器的三种推导形式及其在图像处理中的应用

本文深入解析了维纳(Wiener)复原滤波器的三种核心推导形式:卷积形式、矩阵向量形式和频域形式,并重点阐述了其基于线性最小均方误差(LMMSE)估计的核心思想。通过Python实战演示,展示了频域形式如何高效地在图像去模糊与噪声抑制之间取得平衡,是图像复原领域的经典且实用的工具。

net55的博客 577

webpack不同环境下使用CSS分离插件mini-css-extract-plugin

不同环境下的打包,如果出现图片显示不了时(特别是css中的图片),请检查publicPath的配置。会开启tree-shaking和js代码压缩,但配置会使默认的压缩功能失效。所以,指定css压缩插件的同时,务必指定js的压缩插件。插件,结合配置,可以把css代码打包到单独的css文件,且可以设置存放路径(通过设置插件的filename和生产环境下不能使用devtool:"inline-source-map",而用devtool:"source-map"

黎小小的博客 3535

基因家族快速鉴定指南:Windows平台下的HMMER实战解析

本文详细解析了在Windows平台下使用HMMER工具进行基因家族快速鉴定的完整实战流程。通过手把手指导,从软件获取、数据准备到模型构建与序列搜索,帮助生物信息学新手无需Linux环境,即可高效完成bZIP转录因子等家族的鉴定工作,大幅降低分析门槛。

weixin_29255731的博客 458

华为OD机试2025C卷 - CPU调度策略 (C++ & Python & JAVA & JS & GO)

华为OD机试 2025C卷 CPU调度策略,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解

qq_45776114的博客 1296

【亲测免费】 动态提取CSS利器:mini-css-extract-plugin

在前端开发中,管理和优化CSS资源的加载是提升用户体验的关键步骤。如果你正在使用Webpack 5构建项目,那么【mini-css-extract-plugin】值得你关注。这个小巧而强大的插件能够将你的CSS代码从JavaScript文件中分离出来,形成单独的样式文件,支持异步加载,并且提供了丰富的配置选项。 ## 项目简介 **mini-css-extract-plugin** 是一个专为...

gitblog_00041的博客 1657

基于FPGA的BP神经网络Verilog设计与Matlab仿真

BP(Backpropagation)神经网络是一种常见且广泛应用的神经网络类型,通过反向传播算法实现训练和学习。本文将介绍如何使用Verilog语言在FPGA上设计一个简易的BP神经网络,并使用Matlab进行仿真验证。BP神经网络由输入层、隐藏层和输出层组成。在上述Verilog代码中,我们定义了BP神经网络的输入层、隐藏层和输出层的神经元数量,并声明了相应的信号和参数。在上述Verilog代码中,我们定义了BP神经网络的输入层、隐藏层和输出层的神经元数量,并声明了相应的信号和参数。

2301_79326254的博客 559

webpack插件之mini-css-extract-plugin

今天给大家介绍的webpack插件是mini-css-extract-plugin;

mingo2806的博客 2579

python opencv的车牌识别分割详细教程 毕业设计

python opencv的车牌识别分割详细教程 毕业设计

机器学习深度学习业余选手 1327

[QMT量化交易小白入门]-十二、QMT回测龙头打首板和连板的策略

class a():passA = a() #创建空的类的实例 用来保存委托状态field_list定义了需要的市场数据字段,而类a用于保存交易状态。

木头大左的博客 4757

【亲测免费】 mini-css-extract-plugin 使用教程

`mini-css-extract-plugin` 是一个基于 webpack v5 的插件,用于将 CSS 从 JavaScript 包中分离出来,生成独立的 CSS 文件。它支持 CSS 和 SourceMaps 的按需加载,适用于生产环境的构建,可以提高 CSS 文件的加载性能。 ## 项目快速启动 ### 安装插件 首先,你需要安装 `mini-css-extract-plugin`...

gitblog_00899的博客 2191

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Extract Text Webpack Plugin终极指南:从CSS提取到现代前端构建的完整实战

**extract-text-webpack-plugin**是Webpack生态系统中一款革命性的插件,它彻底改变了前端构建中样式处理的方式。在Webpack 1到3的时代,这个插件解决了将CSS从JavaScript bundle中分离的关键难题,为性能优化和代码组织提供了专业解决方案。尽管现在已被标记为DEPRECATED并推荐使用mini-css-extract-plugin,但理解它的设

gitblog_00446的博客 721

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Webpack 4.x 使用mini-css-extract-plugin分离scss失败的坑

楼主最近从移动端转前端有段时间了,目前还是在学习和探索前端的阶段,最近一直在给一个新的项目打基础的脚手架,慢慢的学习webpack 的配置。 如题,当配置到分离css文件的时候,网上大面积的还是extract-text-webpack-plugin这个插件,但是这个插件在webpack 4.x已经用不了,各种报错啊,然后就换成了mini-css-extract-plugin这个插件。 按照网上配置写好后,配置如下: 我试了一下,打包css文件,ok没问题,能正常的分离和引用,但是当我来分离scss

rouzi1230的专栏 3612

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

webpack(三) plugin,WebpackDevServer和热更新

plugin plugin是webpack的一个插件机制,扩展webpack现有的功能 它为项目的构建提供了更加广泛的能力 webpack中的plugin,简单的理解就是对于webpack现有功能的扩展,比如打包优化、文件压缩功能。 plugin的范围更大,作用也更强。 插件 HtmlWebpackPlugin 打包完成后,该插件会自动生成一个html5文件,并把生成js模块引入html 1.1 安装 npm install -D html-webpack-plugin 1.2配置文件 //引入 co

x94410891的博客 388

webpack踩坑之路之mini-css-extract-plugin

mini-css-extract-plugin 插件 坑挺多 记录一下 版本兼容坑 typescript No module factory available for dependency type: CssDependency 查看个人的 webpack的版本 如果版本在v5以上 需要使用mini-css-extract-plugin 0.8.2版本 0.8.2版本较为稳定。 2.需配合 plugin部分 一起使用 { plugins:[ new MiniCs

qq_45641978的博客 1869

Webpack--Plugins

Plugins(插件)  扩展 webpack 本身的一些功能,它们会运行在各种模块解析完成以后的打包编译阶段,比如对解析后的模块文件进行压缩等  插件是 webpack 的支柱功能。插件目的在于解决 loader 无法实现的其他事。 1.HtmlWebpackPlugin  作用:在打包结束后,⾃动生成⼀个 html ⽂文件,并把打包生成的 js 模块引⼊到该 html 中  安装:npm install --save-dev html-webpack-plugin  使用:1.在webpack.conf

HBF__cg的博客 359

webpack4 分离css

前言:webpack从1.0的版本 飞速的发展到了webpack5。今天我想记录一下webpack4 如何分离css。webpack4之前一直使用是extract-text-webpack-plugin 来分离css和js。在webpack4之后就无法再分离,很多人配置这个,不报错,但也达不到分离css。 官网上面有一句话: :warning: Since webpack v4 the e...

qq_34849240的博客 4579

webpack配置提取css

webpack配置提取css 初次单独配置使用webpack,在js中引入的样式在没有配置之前会被放到头部的style标签之中,于是就想着将其提取放到单个文件之中去,所以网上查找了一下配置方法,即为使用mini-css-extract-plugin插件,在使用的过程之中遇到了一些问题,所以选择记录到此处。 1. 初始配置 webpack.config.js const HtmlWebpackPlugin = require('html-webpack-plugin') const path = re

weixin_45946494的博客 402

【前端】web前端快速构建项目所需的webpack插件

文章目录前言style-loader|css-loaderless-loaderhtml-loaderfile-loaderurl-loaderhtml-webpack-pluginmini-css-extract-pluginwebpack-dev-server 前言 这个笔记用于平时记录积累学习webpack和前端项目中遇到的可快速开发的插件和程序,如有补充,可在下面进行评论,楼主会补充进来。 style-loader|css-loader module.exports={ module:{

分享记录开发中的问题,欢迎一起探讨! 154

webpack使用总结

下面是自己在学习webpack时一些比较迷惑的问题,今天特意花了一天时间去搞清楚这些,后续会接着在文章中补充其他的问题 1,devtool 配置项: js打包后文件被压缩,如果代码中报错很难找到对应的行号,配置source-map可以在打包时建立源码与编译后代码的映射,这样很容易调试编译后的代码,devtool有四个取值,从上到下,打包速度越来越快,但安全性越来越低,如下: // de...

誉行天下 283

前端远古项目现代化改造进程记录--02阶段1

多页面应用,每个文件夹都视为一个文件,所以每个文件夹里都用index.js作为入口文件, 这里的问题同二, 部分代码可以通过修改源文件满足ESModule规则,大部分代码是使用的全局变量,所以同样用webpack-concat-files-plugin直接拼接, CSS可以直接引用,因为会被mini-css-extract-plugin提取到文件夹下. 旧HTML中对公共js等是。使用copy-webpack-plugin插件,这个插件可以直接移动文件到指定位置, 由from和to控制。

qq_36998298的博客 693

抽离css文件

抽离css文件一、抽离css文件 一、抽离css文件 目前,css代码被css-loader转换后,交给的是style-loader进行处理。 style-loader使用的方式是用一段js代码,将样式加入到style元素中。 而实际的开发中,我们往往希望依赖的样式最终形成一个css文件 此时,就需要用到一个库:mini-css-extract-plugin 该库提供了1个plugin和1个loader plugin:负责生成css文件 loader:负责记录要生成的css文件的内容,同时导出开启css-

xun__xing的博客 607

webpack-前端资源加载/打包工具(2)

webpack的相关使用及其插件的应用

愤怒的小火柴人 696

记录一次莫名其妙的webpack4.X无法压缩css

用webpack4.X 做新的项目,旧的一些插件都废弃了,就跟着官网配置新的,大致用到的就这几个 mini-css-extract-plugin ,和 optimize-css-assets-webpack-plugin这两个是用来提取和压缩js文件里的css的。同样的配置,在别的同事机器上就可以正常执行,在我的机器上就只是提取不压缩,也不报错一脸懵逼。。。把依赖重新安装一遍,还是...

weixin_30251829的博客 213

webpack3.x升级webpack4的一次实践

第一步、npm i webpack -D 安装webpack,这时出现了报错 原因:node的版本不符合 解决方案:更换升级node 第二步,升级node mac 系统 npm install -g n,升级需要安装n模块,安装 nodejs 的版本管理器 n,出现了报错 这时心情是太难了,从网上搜索是需要 用命令 npm install --force 一个模块不管是否安装过,npm都要强制重新安装,可以用 -f 或 -force 参数 然后再执行npm install -g n windows系统

u013994400的博客 2796
上一篇: 记一次养生课笔记——养生保健:你是哪种体质?
下一篇: 【前端学习记录】关于使用el-table排序时,默认排序多请求一次的问题
Note_creek
博客等级 码龄10年 372粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值