Vite 插件
# Roolup、Vite 钩子函数
options(options),在解析 Rollup 配置之前调用,可以修改配置
buildStart,构建开始的时候调用,可以执行一些初始化操作
resolveId(source, importer),用于自定义模块解析逻辑,可以拦截并修改模块的导入路径
load(id),用于加载模块内容,结合 resolveId 使用
transform(code,id),在模块加载后对内容进行转换,返回转换后的代码和 source map
buildEnd(),构建结束的时候调用,可以清理或生成额外的文件
generateBundle(options, bundle),在输出生成文件的时候调用,适合在打包完成后对生成的文件进行分析和修改
writeBundle(),输出文件写入磁盘后调用,用于执行与文件输出相关的操作
closeBundle(),构建任务完成时调用,可以在这里做一些清理操作
# Vite 特有的钩子
config(config, ({ command, mode })),修改配置的文件内容
configResolved(resolvedConfig),vite 配置解析完成后调用,可以读取最终的配置
configureServer(server),用于配置开发服务器,可以添加自定义请求或中间件
transformIndexHtml(html, ({ filename, server })),用于在开发阶段或构建阶段,对 index.html 文件内容进行转换
handleHotUpdate({ file, server, modules }),热更新(HMR)的时候调用,可以自定义 hmr 行为
# 生产环境钩子
renderChunk(code, chunk, options),在单个 chunk 生成后调用,可以修改 chunk 的内容
closeWatcher(),关闭文件监听时调用,通常用于清理资源
# Vite 其他独有钩子
watchChange(id, { event }),当监听的文件发生变化的时候调用
resolveFileUrl({ chunkId, moduleId, relativePath, format }),在处理文件导入时自定义文件 URL
resolveImportMeta(property, { chunkId, moduleId }),自定义 import.meta 的处理逻辑
← Vite 的理解 Webpack 的理解 →