先上一个 github 地址 https://github.com/unjs/unplugin
前言
前端工具链生态是日新月异,很多人 webpack 都还没玩熟悉呢,新的 vite 都要出到 3.0 了,再说 vite 是基于 rollup 和 esbuild 的吧,这些个工具都各有优劣,都是要学习的东西。但在我看来,这些工具都有一个共同的特点:都是打包工具。打包工具需要做的事情就很简单,接收输入的文件,输出成我们想要的东西,这其中还包含了可以通过不同的插件实现对输入文件的处理,以实现混淆、注入等功能;同时打包工具大多都提供了许多钩子(hook),贯穿整个打包流程,也方便了我们对打包过程的关注和额外处理。百变不离其宗,webpack 有 loader 和 plugin,vite 扩展了设计出色的 Rollup 接口,还带了一些 vite 独特的配置项,因此有人就有了写一次代码,适配多个 bundler 的想法,unplugin 就是这样一个存在。
2022/8/3大约 2 分钟
