在Vercel部署Slack Bot遇npm run build报错,求正确build脚本配置
解决Vercel部署Slack Bot时
npm run build报错的问题 你的问题核心是用了完全不匹配的构建脚本:你的项目是基于TypeScript+Express的Slack Bot,并非Next.js项目,所以next build这个脚本完全不适用,这才导致Vercel执行构建时返回退出码1。
以下是针对你的项目的正确配置步骤:
1. 修正package.json的脚本配置
你的项目用TypeScript编写,先确保typescript依赖已安装(你的仓库里已经配置),然后把build脚本改为编译TS到指定输出目录,同时配置启动命令:
"scripts": { "build": "tsc --outDir dist", "start": "node dist/index.js", "dev": "ts-node index.ts" }
tsc --outDir dist:将TypeScript源码编译到dist目录node dist/index.js:启动编译后的Node.js服务
2. 配置Vercel项目的构建设置
在Vercel控制台进入你的项目,找到Settings → Build & Development Settings,修改以下选项:
- Build Command:
npm run build(对应上面的build脚本) - Output Directory:
dist(指定编译后的代码目录) - Install Command:保留默认的
npm install即可
3. 添加vercel.json配置文件(关键)
在项目根目录创建vercel.json,告诉Vercel这是一个Node.js后端服务,配置路由转发规则:
{ "routes": [ { "src": "/(.*)", "dest": "/dist/index.js" } ], "functions": { "dist/index.js": { "runtime": "@vercel/node@2" } } }
这个配置会让所有外部请求都转发到编译后的Express服务入口文件。
4. 同步环境变量
确保Slack Bot所需的环境变量(比如SLACK_BOT_TOKEN、SLACK_SIGNING_SECRET等)已经在Vercel的Settings → Environment Variables中添加,内容和本地.env文件保持一致。
完成以上配置后,重新执行vercel deploy即可正常构建部署。
内容的提问来源于stack exchange,提问作者Chaffe
相关产品推荐
相关产品推荐

