当前位置: 首页 > news >正文

webpack vite

1、webpack

webpack打包工具(重点在于配置和使用,原理并不高优。只在开发环境应用,不在线上环境运行),压缩整合代码,让网页加载更快。

前端代码为什么要进行构建和打包?

体积更好(Tree-shaking、压缩、合并),加载更快
编译高级语法(scss、TS、ES6+、模块化)
兼容性和错误检查(Ployfill、postcss、eslint)
统一高效的开发环境,统一的构建流程和产出标准,集成公司构建规范(提测、上线)

基本配置、高级配置

1)基本配置

拆分配置和merge:common dev prod配置
启动本地服务 webpack-dev-server
处理ES6 babel-loader
处理样式 style-loader css-loader less-loader postcss-loader(loader执行顺序从后往前)
处理图片 file-loader url-loader

2)高级配置

多入口
抽离css
抽离公共代码
异步加载js(懒加载)
处理JSX babel-loader
处理Vue vue-loader

module chunk bundle分别是什么意思?区别?

module 各种源码文件,webpack中一切皆模块,被引入的都可以看作模块,js、css、img
chunk 多模块合成的(类似在内存中还没产出的代码块),entry splitChunk import()生成chunk
bundle 最终的输出文件

webpack性能优化

1)优化打包构建速度

(生产环境)
优化babel-loader:加cacheDirectory、加include或exclude
IgnorePlugin
noParse 引入的时候避免打包的东西
happyPack 多进程打包
ParallelUglifyPlugin 多进程压缩JS
(不能用于生产环境)
自动刷新 整个网页全部刷新,速度比较慢;整个网页全部刷新,状态全丢失
热更新 新代码生效,网页不刷新,状态不丢失
DllPlugin动态链接库插件,前端框架vue React,体积大构建慢。较稳定,不常升级版本。同一个版本只构建一次即可,不用每次都重新构建。

2)优化产出代码执行效率

小图片base64编码
bundle+hash
懒加载
提取公共代码
使用CDN加速 img、css、js推到CDN上
使用production 自动开启代码压缩;Vue和React等会自动删掉调试代码;启动Tree-Shaking
使用Scope Hosting 多个函数合并成一个函数。代码体积更小,创建函数作用域更少,代码可读性更好

构建流程概述(打包流程)

参考:webpack构建流程

loader和plugin区别?

loader模块转换器
plugin扩展插件

常见loader和plugin?

参考:loader和plugin

tree Shaking,什么时候失效

2、vite

极快的开发服务器启动(基于原生ESM的按需编译)
闪电般的HMR
开箱即用的现代化前端支持(ts、css)
生产构建使用rollup

预加载

为什么本地启动快

3、babel

babel从ES高级语法向低级语法转变


http://www.mrgr.cn/news/98543.html

相关文章:

  • 半导体设备通信标准—secsgem v0.3.0版本使用说明文档(1)之概述、如何安装及使用方法
  • 【Bluedroid】A2DP Sink播放流程源码分析(二)
  • VGA显示
  • vue3环境搭建、nodejs22.x安装、yarn 1全局安装、npm切换yarn 1、yarn 1 切换npm
  • Jenkins插件下载慢解决办法
  • RAGFlow本地部署教程 :多模态检索+动态生成,用AI重构企业知识生产力
  • 第3篇:深入 Framer Motion Variants:掌握组件动画编排的艺术
  • Android掉帧分析
  • 利用pnpm patch命令实现依赖包热更新:精准打补丁指南
  • hadoop执行sqoop任务找不到jar
  • HTTP HTTPS RSA
  • idea如何使用git
  • MCP服务,阿里云百炼,Cline,mysql-mcp-server,MCP通信原理
  • 【HD-RK3576-PI】定制用户升级固件
  • GPIO _OUTPUT-NORMAL 模式
  • OpenAI发布GPT-4.1系列模型——开发者可免费使用
  • XSS漏洞及常见处理方案
  • 旅游特种兵迪士尼大作战:DeepSeek高精准路径优化
  • C++进程间通信开发实战:高效解决项目中的IPC问题
  • WINUI——Background颜色使用小结