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

如何将Svelte-Kit应用部署到AWS Lambda并测试构建输出产物

Svelte-Kit 部署到AWS Lambda 操作指南

前置配置验证

你当前使用的@yarbsemaj/adapter-lambda适配器配置是正确的,注意如果你的Svelte-Kit版本为v1及以上,需要移除配置中的target: '#svelte'字段,改用根目录+layout.js配置hydrate属性即可。

第一步:生成构建产物

在项目根目录执行构建命令:
npm run build
构建完成后会自动生成lambda文件夹,你列出的输出文件属于正常构建产物,无需额外修改。

第二步:本地测试构建产物

无需部署到AWS即可验证构建是否正常,两种常用测试方案:

方案1:使用Lambda运行时模拟器测试

  • 进入生成的lambda目录,执行npm install安装运行依赖
  • 全局安装Lambda运行时模拟器:npm install -g aws-lambda-ric
  • 新建测试事件文件test-event.json,写入API Gateway标准触发格式:
{
  "httpMethod": "GET",
  "path": "/",
  "headers": {},
  "queryStringParameters": null
}
  • 执行测试命令:aws-lambda-ric index.handler < test-event.json,正常会返回200状态码和页面响应内容,即代表构建产物可用。

方案2:使用Serverless Offline本地模拟服务

  • 项目根目录新建serverless.yml配置文件:
service: svelte-kit-lambda
provider:
  name: aws
  runtime: nodejs16.x
  region: us-east-1
functions:
  app:
    handler: lambda/index.handler
    events:
      - http: ANY /
      - http: ANY /{proxy+}
  • 执行serverless offline启动本地服务,访问localhost:3000即可直接预览应用效果。

第三步:部署到AWS Lambda

手动部署方案

  1. 进入lambda目录,选中目录内所有文件直接打包为zip压缩包(不要打包lambda文件夹本身,否则Lambda会找不到执行入口)
  2. 登录AWS控制台新建Lambda函数,运行时选择Node.js 16.x及以上版本
  3. 函数代码选择「上传zip包」,上传刚才生成的压缩包
  4. 将Lambda的处理程序配置为index.handler
  5. 给Lambda绑定API Gateway触发器,选择HTTP API,允许所有路由的访问权限
  6. 配置完成后访问API Gateway的默认域名即可访问应用

自动部署方案

完成上述serverless.yml配置后,本地配置好AWS访问凭证,直接执行serverless deploy即可自动完成所有资源创建和部署,执行完成后控制台会直接输出应用访问域名。

常见问题排查

  • 访问返回404:检查API Gateway的路由配置是否匹配了所有路径规则
  • 访问返回500:查看Lambda的CloudWatch日志,大概率是依赖缺失,确认打包时包含了node_modules目录
  • 静态资源加载失败:确认打包时包含了lambda目录下的static文件夹内容
    内容的提问来源于stack exchange,提问作者chovy
相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 06:15:05