SvelteKit修改构建目录遇阻:Vite配置build.outDir被覆盖求方案
解决SvelteKit修改构建目录的问题
SvelteKit会接管Vite的build.outDir配置,直接在Vite config里设置没用。要修改最终构建输出目录,得通过对应adapter的配置来实现:
- 打开
svelte.config.js,找到你使用的adapter配置项 - 在adapter的参数里添加
out字段,指定你想要的目录名(比如你需要的builds)
下面是两个常见adapter的配置示例:
示例1:使用adapter-static
// svelte.config.js import adapter from '@sveltejs/adapter-static'; import { vitePreprocess } from '@sveltejs/kit/vite'; /** @type {import('@sveltejs/kit').Config} */ const config = { preprocess: vitePreprocess(), kit: { adapter: adapter({ out: 'builds' // 这里设置最终构建目录 }) } }; export default config;
示例2:使用adapter-node
// svelte.config.js import adapter from '@sveltejs/adapter-node'; import { vitePreprocess } from '@sveltejs/kit/vite'; /** @type {import('@sveltejs/kit').Config} */ const config = { preprocess: vitePreprocess(), kit: { adapter: adapter({ out: 'builds' }) } }; export default config;
原理很直接:SvelteKit的最终构建产物目录由adapter控制,不同adapter都提供了out(或类似命名)的配置项指定输出路径,Vite的build.outDir会被SvelteKit根据这个配置自动覆盖,所以直接修改Vite配置无效。
内容的提问来源于stack exchange,提问作者ko100
相关产品推荐
相关产品推荐

