如何使用SvelteKit生成正确的生产构建包?
SvelteKit构建无dist/index.html的解决办法
SvelteKit默认构建不会直接生成传统的静态dist文件夹,因为它支持多种部署模式(SSR、静态站点、Serverless等),.svelte-kit只是中间构建缓存目录,不是最终部署产物。要得到包含index.html的静态部署文件,你需要配置静态适配器:
安装静态适配器
执行命令:npm install @sveltejs/adapter-static --save-dev修改
svelte.config.js配置
将默认的适配器替换为adapter-static,示例配置如下:import adapter from '@sveltejs/adapter-static'; import { vitePreprocess } from '@sveltejs/kit/vite'; /** @type {import('@sveltejs/kit').Config} */ const config = { preprocess: vitePreprocess(), kit: { adapter: adapter({ // 可选:指定输出目录为dist(默认是build) pages: 'dist', assets: 'dist', fallback: undefined // 单页应用可设为index.html }) } }; export default config;重新执行构建
运行:npm run build此时会生成你熟悉的
dist文件夹,里面包含index.html和所有可直接部署到静态服务器的资源文件。
补充:如果你的项目需要SSR或其他部署模式,要对应使用adapter-node、adapter-vercel等适配器,不同适配器的构建输出目录和产物结构会不一样。
内容的提问来源于stack exchange,提问作者alebo611
相关产品推荐
相关产品推荐

