Svelte-kit 1.15.0自定义插件钩子未触发,求正确接口文档
问题解答
首先,SvelteKit 1.15.0的插件系统完全基于Vite插件规范,你遇到钩子未触发的问题,大概率是配置位置错误或使用了不存在的钩子。
核心纠正点
插件配置位置
自定义插件必须放在svelte.config.js中Vite配置的plugins数组内,而非SvelteKit配置的顶层字段。正确的配置结构示例:import { sveltekit } from '@sveltejs/kit/vite'; import { defineConfig } from 'vite'; export default defineConfig({ plugins: [ sveltekit(), // 你的自定义插件 { name: 'my-custom-plugin', config(config, env) { console.log('config hook triggered'); return {}; }, configureServer(server) { console.log('configureServer hook triggered'); }, configResolved(resolvedConfig) { console.log('configResolved hook triggered'); }, buildEnd(error) { console.log('buildEnd hook triggered'); } } ] });钩子名称校验
Vite插件体系中不存在setup钩子,这可能是你混淆了其他框架的插件规范,移除该钩子后其他钩子才能正常触发。
官方文档参考
- SvelteKit官方文档的「Advanced > Vite Configuration」章节,明确说明了插件系统基于Vite规范,指导如何在SvelteKit中配置Vite插件。
- Vite官方的「Plugin API」文档,详细定义了所有可用钩子的触发时机、参数结构和返回值要求,是编写合规插件的权威参考。
内容的提问来源于stack exchange,提问作者eddow
相关产品推荐
相关产品推荐

