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

如何在AWS Elastic Beanstalk上部署TypeScript Web应用并实现自动构建启动

方案1:在GitHub流水线中完成构建再部署(更推荐)

该方案将构建过程放在CI侧执行,可降低EB实例运行时开销,同时方便提前排查构建错误

  • 修改你的GitHub Actions workflow配置文件,在部署到EB的步骤前新增依赖安装、TypeScript构建步骤,示例如下:
# 前置构建逻辑,需要放在部署步骤之前
- name: 安装项目依赖
  run: npm ci
  # 注:使用npm ci要求仓库中存在package-lock.json文件
- name: 编译TypeScript源码
  run: npm run build
  • 确保package.json中已配置正确的构建命令:"build": "tsc",执行后会自动生成dist目录,该目录会随部署包一起上传到EB,无需提交到Git仓库
  • 启动命令配置为"start": "node dist/你的入口文件.js"即可
方案2:配置EB实例部署时自动构建

该方案让构建过程在EB服务器侧执行,无需修改现有CI流水线配置

  • 在项目根目录创建.ebextensions文件夹,新增01_typescript_build.config文件,写入以下配置:
container_commands:
  01_install_production_deps:
    command: "npm install --only=production"
    cwd: "/var/app/staging"
  02_compile_ts:
    command: "npm run build"
    cwd: "/var/app/staging"
  • 两种方式解决EB实例上tsc命令找不到的问题:
    • 把typescript依赖加入package.json的dependencies字段
    • 把build命令修改为"build": "npx tsc",运行时临时调用tsc
  • 确保启动命令指向dist目录的编译产物:"start": "node dist/你的入口文件.js"
常见故障排查
  • 确认tsconfig.json中outDir参数值为./dist、rootDir参数值为./dev,路径配置错误会导致编译产物输出异常
  • 确保EB环境使用的Node.js版本和本地开发环境一致,避免出现兼容性报错
  • 如部署失败可登录EB实例查看/var/log/eb-engine.log日志,定位具体的构建、启动错误原因

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 20:36:04