Svelte项目执行npm build报错:adapter配置格式不符合要求
解决Svelte Kit构建适配器配置错误
你的问题出在同时混用两个适配器并错误地用+拼接——Svelte Kit的config.kit.adapter要求必须是一个包含adapt方法的单一适配器对象,而你用adapter() + firebase()会把两个对象转成字符串拼接,完全不符合要求,而且Svelte Kit本身也不支持同时配置多个适配器。
修正方案
如果你的目标是部署到Firebase,直接使用svelte-adapter-firebase即可,不需要保留adapter-auto,修改后的配置代码如下:
import { vitePreprocess } from '@sveltejs/kit/vite'; import firebase from "svelte-adapter-firebase"; /** @type {import('@sveltejs/kit').Config} */ const config = { kit: { adapter: firebase(), }, preprocess: vitePreprocess() }; export default config;
原因说明
adapter-auto是自动适配部署环境的通用适配器,而svelte-adapter-firebase是针对Firebase的专用适配器,两者功能重叠,且Svelte Kit一次只能使用一个适配器处理构建流程。- 用
+拼接两个适配器的返回值会将对象转换为字符串(类似[object Object][object Object]),这显然不是符合要求的适配器对象,所以触发了构建错误。
内容的提问来源于stack exchange,提问作者Helmar Bachle
相关产品推荐
相关产品推荐

