认识
2025年01月22日
一、认识
unplugin 是一个为构建工具(如 Webpack
、Vite
、Rollup
、RsPack
等)提供插件系统的框架,旨在简化插件的开发。它通过钩子函数将构建逻辑集成到构建工具的生命周期中。unplugin
的设计使得插件可以跨多个构建工具工作,UnPlugin
可以编写一个插件并在多个构建工具中重用它, 另外, UnPlugin
可以很方便的处理虚拟模块。UnPlugin
提供了一些钩子, 钩子如下:
二、语法
const unplugin = require('unplugin');
const plugin = unplugin.createUnplugin((options = {}) => {
return {
name: 'my-plugin',
// 插件中的钩子函数
someHook() {
// 钩子逻辑
}
};
});
const { raw, vite, farm, esbuild, rollup, rolldown, webpack,rspack } = unplugin;
// 如果是 Vite 插件
module.exports = vite;
// 如果是 RsPack 插件
module.exports = rspack;
// 如果是 EsBuild 插件
module.exports = esbuild;
// 如果是 Webpack 插件
module.exports = webpack;
// 等等
你在插件中定义的钩子会在适当的时机被调用,这些时机由所使用的构建工具(如 Webpack
、Vite
等)决定。