基于 Webpack 4 和 Webpack 5

Loader

名称 描述
eslint-loader 代码规范检查。eslint-config-airbnb eslint-config-alloy eslint-config-ivweb
babel-loader
postcss-loader
style-loader
css-loader
less-loader
file-loader
url-loader file-loader 类似。可以将小图片等资源以 base64 方式引用
px2rem-loader

Plugin

名称 描述
clean-webpack-plugin
html-webpack-plugin html 压缩、自动创建 html5 文件、自动引入编译后的 script 等
html-webpack-externals-plugin 将指定的资源设置成 CDN 等形式的外部引用,减少 bundle 大小
SplitChunksPlugin 公共脚本分离成公共包,并进行优化。webpack 自带
friendly-errors-webpack-plugin webpack 构建日志美化插件

CSS

名称 描述
autoprefixer 自动补全兼容前缀。配合 postcss-loader 使用
mini-css-extract-plugin 可以将 css 单独打包,支持文件指纹
optimize-css-assets-webpack-plugin css 压缩。一般配合 cssnano 使用

JS

名称 描述
webpack-shebang-plugin 保留文件头部的 #! 等 shebang
uglifyjs-webpack-plugin js 压缩。production 模式下自动开启

性能相关

名称 描述
speed-measure-webpack-plugin 构建速度分析。每个 loader 和 plugin 的耗时
webpack-bundle-analyzer 包体积分析
parallel-uglify-plugin 代码并行压缩
uglifyjs-webpack-plugin 代码压缩,支持并行压缩
terser-webpack-plugin webpack5 自带的代码压缩插件,支持并行压缩
image-webpack-plugin 图片处理插件。可以进行图片压缩
purgecss-webpack-plugin 配合 mini-css-extract-plugin 删除无用的 css

静态资源内联

使用 raw-loader

// html 内联
${require('raw-loader!./meta.html')}
// js 内联
<script>${require(raw-loader!babel-loader!../node_modules/lib-flexible)}</script>

CSS 内联

  1. 使用 style-loader
  2. 使用 html-inline-css-webpack-plugin

Webpack 常用 loader 和 plugin 汇总相关推荐

  1. webpack常用loader和plugin及打包速度优化

    优化 或 也可以用: 备用: 慎用的配置,用的不好会增加打包时间: 代码丑化插件: 更多专业前端知识,请上 [猿2048]www.mk2048.com

  2. Webpack中Loader和Plugin的区别和编写思路

    由于webpack基于发布订阅模式,在运行的生命周期中会广播出许多事件,插件通过监听这些事件,就可以在特定的阶段执行自己的插件任务 一.区别 前面两节我们有提到Loader与Plugin对应的概念,先 ...

  3. webpack的loader与plugin原理

    文章目录 loader原理 loader执行顺序 loader使用方式 loader的实现 参数 同步loader 异步loader Raw loader Pitching loader loader ...

  4. Webpack自定义Loader和Plugin方法

    手写Loader Loader 本质上是导出函数的 JavaScript 模块,而该模块导出的函数被称为 Normal Loader,在开发 Loader时,我们可以在导出的函数上添加一个 pitch ...

  5. 【前端知识之webpack】Loader和Plugin都是什么,有什么区别

    前言 本系列主要整理前端面试中需要掌握的知识点.本节介绍Loader和Plugin都是什么,有什么区别. 文章目录 前言 一.Loader是什么 二.Plugin是什么 三.Loader和Plugin ...

  6. mysql8出现1045报错+常用的加密plugin汇总

    一些准备工作 /etc/mysql/mysql.conf.d/mysqld.cnf 的[mysqld]下面加入skip-grant-tables service mysql restart 然后输入m ...

  7. webpack实战之手写一个loader和plugin

    webpack实战之编写一个简易的loader和plugin

  8. 24.重学webpack——loader的原理及常用loader的实现(高频面试题)

    [重学webpack系列--webpack5.0] 1-15节主要讲webpack的使用,当然,建议结合<webpack学完这些就够了>一起学习. 从本节开始,专攻webpack原理,只有 ...

  9. [转]WebPack 常用功能介绍

    概述 Webpack是一款用户打包前端模块的工具.主要是用来打包在浏览器端使用的javascript的.同时也能转换.捆绑.打包其他的静态资源,包括css.image.font file.templa ...

最新文章

  1. [译]Godot系列教程一 - 场景与节点
  2. 光遗传学离诺奖又双叒进一步!10天后谜底将揭晓 (盘点光遗传学近年来获奖记录)...
  3. 6-4 链表拼接 (20分)_青岛喷绘制作公司不愿透露的喷绘布拼接与安装技巧,建议收藏...
  4. ubuntu php mysql5.6_Ubuntu 安装 Mysql 5.6 数据库
  5. pycharm中报错:ImportError: No module named 'skimage'
  6. 华为V3.4-RIP命令总结
  7. android自定义dialog不显示,Android 自定义的dialog显示不正常呢,怎么回事???
  8. python模块(6)-Pandas 简易使用教程
  9. Android系统init进程启动及init.rc全解析
  10. PostgreSQL 简单的查询
  11. Random()中具体实现(含种子数组的实现)
  12. Unity MRTK(三)部署到Hololens模拟器
  13. 带本信息论看《三体》——信息论课程论文
  14. FileZilla Server详细配置
  15. 批量修改联系人头像_视频号pr批量剪辑0基础实操课,pr批量处理伪原创一分钟一个视频【共2节】...
  16. 西安交大计算机2000年山西专业录取分数,西安交大在山西各专业录取分数.doc
  17. 解决 Kotlin 换页符提示错误 Illegal escape f 无法使用问题
  18. python保存文件名,line 257, in urlretrieve tfp = open(filename, ‘wb‘)OSError: [Errno 22] Invalid argument:
  19. Java设计模式总结——6大设计原则
  20. 如何跨入AI的大门 Python人工智能方向怎么样

热门文章

  1. 第十五篇:如何排查生产环境中的反压问题
  2. 这几种游戏配音教程分享给你
  3. 快到我跟老婆的结婚纪念日了
  4. AutoJS4.1.0实战教程 ---火火视频极速版签到、清理缓存和自动评论
  5. arm汇编 调用linux中断,GNU ARM汇编(四)中断汇编之非嵌套中断处理
  6. Scripting.FileSystemObject控件的用法
  7. RTThread SPI 读取 W25Q16 设备ID 返回 0XFF,已解决
  8. 一点记忆——翩翩喜欢你
  9. 易福门激光测距传感器O1D209
  10. 测试—数据库性能测试