定位:新一代前端构建工具
两大组成部分:
核心特征:
Vite 开箱即用的功能等价于
webpack
webpack-dev-server
css-loader
style-loader
less-loader
sass-loader
postcss-loader
file-loader
MiniCssExtractPlugin
HTMLWebpackPlugin
除了常见的图片格式, Vite 也内置了对于JSON、Worker、WASM资源的加载支持
https://cn.vitejs.dev/guide/features.html#static-assets
无需额外配置,自动开启
优化原理:
Tree Shaking在 Vite中无需配置,默认开启!
Esbuild 作为默认压缩工具,替换传统的Terser.Uglify.js 等压缩工具
Rollup
Vite插件开发文档
复杂度较低的插件: json加载插件
复杂度中等的插件:Esbuild接入插件
复杂度较高的插件:官方React插件
先看文档,过一遍插件钩子的功能,然后多学习其它插件的实现,掌握套路
https://cn.vitejs.dev/config/build-options.html#build-rollupoptions
https://rollupjs.org/configuration-options/#output-manualchunks
What is Babel? · Babel
babel插件手册
babel-handbook/translations/zh-Hans/plugin-handbook.md at master · jamiebuilds/babel-handbook
https://babeljs.io/docs/babel-preset-env
https://github.com/vitejs/vite/tree/main/packages/plugin-legacy
https://cn.vitejs.dev/guide/ssr.html
https://github.com/vitejs/vite/tree/main/playground/ssr-react
https://juejin.cn/book/7050063811973218341/section/7066612265536978981