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

SvelteKit使用adapter-static构建时提示‘未指定适配器’求助

SvelteKit现有项目配置adapter-static后构建提示“No adapter specified”问题解决

在现有SvelteKit项目中配置@sveltejs/adapter-static静态站点适配器时,执行npm run build始终提示“No adapter specified”。用npx sv create my-app创建的极简新项目配置相同适配器后可正常构建,现有项目中已在svelte.config.ts和vite.config.ts添加console.log语句,但构建时仅输出vite配置日志,推测Vite未加载包含适配器配置的svelte.config.ts。尝试复制新项目的package.json依赖版本也无法解决问题。

配置文件

svelte.config.ts

import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
import adapter from '@sveltejs/adapter-static';

/** @type {import('@sveltejs/kit').Config} */
const config = {
    preprocess: [vitePreprocess({ script: true })],

    kit: {
        adapter: adapter(),
        prerender: {
            entries: ['*']
        }
    }
};

export default config;

vite.config.ts

import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vitest/config';

export default defineConfig({
    plugins: [sveltekit()],
    build: {
        target: 'esnext',
    },
    test: {
        include: ['src/**/*.{test,spec}.{js,ts}']
    }
});

package.json依赖片段

...
    "devDependencies": {
        "@playwright/test": "^1.28.1",
        "@skeletonlabs/skeleton": "^2.10.3",
        "@skeletonlabs/tw-plugin": "^0.4.0",
        "@sveltejs/adapter-auto": "^3.3.1",
        "@sveltejs/adapter-static": "^3.0.8",
        "@sveltejs/kit": "^2.7.4",
        "@sveltejs/vite-plugin-svelte": "^4.0.0",
        "@tailwindcss/forms": "^0.5.10",
        "@types/d3-scale": "^4.0.8",
        "@types/eslint": "^8.56.0",
        "@types/node": "^20.12.7",
        "@typescript-eslint/eslint-plugin": "^7.0.0",
        "@typescript-eslint/parser": "^7.0.0",
        "autoprefixer": "^10.4.16",
        "chart.js": "^4.0.0",
        "eslint": "^8.56.0",
        "eslint-config-prettier": "^9.1.0",
        "eslint-plugin-svelte": "^2.46.0",
        "postcss": "^8.4.32",
        "postcss-load-config": "^5.0.2",
        "prettier": "^3.1.1",
        "prettier-plugin-svelte": "^3.2.7",
        "prettier-plugin-tailwindcss": "^0.5.9",
        "svelte": "^5",
        "svelte-check": "^3.6.0",
        "svelte-preprocess": "^6.0.3",
        "svelte-transition": "^0.0.17",
        "tailwindcss": "^3.3.6",
        "tslib": "^2.4.1",
        "typescript": "^5.0.0",
        "vite": "^5.4.10",
        "vitest": "^1.2.0"
    },
    "type": "module",
    "dependencies": {
        "chartjs-adapter-date-fns": "^3.0.0",
        "chartjs-plugin-datalabels": "^2.2.0",
        "compute-covariance": "^1.0.1",
        "d3": "^7.9.0",
        "d3-scale": "^4.0.2",
        "firebase": "^11.2.0",
        "mathjs": "^14.0.1",
        "ts-node": "^10.9.2"
    }
...

解决办法

  • 检查配置文件位置:确保svelte.config.ts在项目根目录,Vite默认从根目录加载该文件,若放在子目录会导致无法识别。
  • 简化配置测试:暂时删除配置中的类型注释和额外选项,使用最简配置验证是否能加载:
    import adapter from '@sveltejs/adapter-static';
    import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
    
    export default {
      preprocess: vitePreprocess(),
      kit: {
        adapter: adapter()
      }
    };
    
  • 清理依赖与缓存:
    1. 删除node_modules、package-lock.json文件
    2. 执行npm install重新安装依赖
    3. 运行npx vite clear清理Vite缓存
  • 修复版本兼容性:你的项目中svelte版本为^5,但@sveltejs/kit@2.x仅适配Svelte 4,Svelte 5处于测试阶段存在兼容性问题。降级Svelte版本:
    npm install svelte@^4.2.0 --save-dev
    
  • 验证Vite插件配置:确保vite.config.ts中的sveltekit()插件没有手动指定错误的svelte配置路径,避免覆盖默认加载逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 18:05:55