当前位置: 首页 > 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

2、vite

3、babel

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

相关文章:

  • 基于 Termux 在移动端配置 Ubuntu 系统并搭建工作环境
  • DeepSeek在应急救援领域的应用解决方案
  • docker测试镜像源
  • 如何在运行时获取硬件信息
  • day24 学习笔记
  • Linux:35.其他IPC和IPC原理+信号量入门
  • 自动驾驶的数据集以及yolov8和yolop
  • Oracle 复制表结构(含索引、主键)操作指南
  • 池式结构---内存池
  • 企业年报问答RAG挑战赛冠军方案:从零到SotA,一战封神
  • AI 大语言模型 (LLM) 平台的整体概览与未来发展
  • #关于数据库中的时间存储
  • 006.Gitlab CICD流水线触发
  • Python实现链接KS3,并批量下载KS3文件数据到本地
  • MySQL数据库备份与恢复详解
  • 21 天 Python 计划:MySQL索引机制从基础到应用
  • 人事招聘专员简历模板
  • 谷歌开源代理开发工具包(Agent Development Kit,ADK):让多智能体应用的构建变得更简
  • 【区分定语从句和同位语从句】
  • 普瑞PS8742B
  • 宝安网站建设公司/环球资源网站网址
  • 建站系统源码下载/品牌宣传策略
  • 淘客单网站/如何快速推广app
  • ps ui做响应式网站要求/公关公司的主要业务
  • 国外做化工网站/免费网站推广网站短视频
  • 国外网站建设软件/杭州网站关键词排名优化