You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从零创建Svelte项目执行build后,找不到./public文件夹问题咨询

关于SvelteKit构建产物的问题解答

1. 是否遗漏了步骤?

是的,你漏了**安装并配置适配器(Adapter)**这一步。用npm create svelte@latest创建的是SvelteKit项目(而非传统的单页Svelte应用),它默认不会直接生成可部署的静态文件到public或根目录下的其他文件夹——必须通过适配器来将.svelte-kit里的中间产物转换为对应部署环境的可运行文件。

2. 操作是否有误?

操作本身没有错误,但你对SvelteKit的构建逻辑有误解:

  • 传统Svelte单页应用构建后确实会把产物放到public文件夹,但SvelteKit是全栈框架,默认构建只会生成中间产物到.svelte-kit目录,这部分文件不是直接用来部署的。
  • 你找不到包含index.html和app.js的目录,正是因为没有适配器完成最终的产物转换。

3. 是否需要给build命令添加额外参数?

不需要给npm run build加额外参数,但需要完成以下配置:

  • 首先安装适合你部署场景的适配器,比如要生成静态文件,就安装静态适配器:
    npm install @sveltejs/adapter-static --save-dev
    
  • 然后修改项目根目录下的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({
          // 可选配置,比如指定输出目录,默认是build文件夹
          pages: 'build',
          assets: 'build',
          fallback: undefined,
          precompress: false
        })
      }
    };
    
    export default config;
    
  • 再次执行npm run build,就能在build文件夹里找到包含index.html和对应JS/CSS资源的可部署文件了。

内容的提问来源于stack exchange,提问作者Serge Hulne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 18:30:50