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

SvelteKit部署至Google Cloud报错:找不到workspace/server.js模块

解决SvelteKit部署Google Cloud后找不到server.js的问题

1. 修正package.json的start脚本

Google Cloud App Engine部署Node.js应用时,会执行package.json里的start脚本,报错找不到workspace/server.js是因为脚本指向的路径不对。SvelteKit用adapter-node构建后,生产入口文件是build/index.js,修改脚本如下:

{
  "scripts": {
    "build": "vite build",
    "start": "node build/index.js"
  }
}

2. 完整配置app.yaml文件

仅设置runtime: node16不够,补充以下配置项确保App Engine正确识别和运行你的SvelteKit应用:

runtime: nodejs16
env: standard

# 处理所有请求路由
handlers:
  - url: /.*
    script: auto

# 设置生产环境变量
env_variables:
  NODE_ENV: production

各配置项说明:

  • env: standard:使用App Engine标准环境,适配大多数Node.js应用场景
  • handlers:url: /.*匹配所有请求路径,script: auto让App Engine自动将请求转发到你的Node.js服务器
  • env_variables:设置NODE_ENV为production,确保SvelteKit以生产模式运行

3. 部署前的关键准备

  • 安装正确的适配器:确保项目使用@sveltejs/adapter-node(默认的adapter-auto可能不兼容Node.js部署),修改svelte.config.js:
import adapter from '@sveltejs/adapter-node';
import { vitePreprocess } from '@sveltejs/kit/vite';

const config = {
  preprocess: vitePreprocess(),
  kit: {
    adapter: adapter()
  }
};

export default config;
  • 执行构建:运行npm run build,确认项目根目录生成build文件夹,里面包含index.js等生产文件
  • 依赖检查:确保package.json的dependencies包含所有生产必需的包(devDependencies里的包部署时会被忽略)

4. 部署命令

完成上述配置后,通过Google Cloud CLI执行部署:

gcloud app deploy

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 08:47:14