nestjs应用程序生产部署的正确方法是什么

Boo*_*lan 20 javascript deployment node.js typescript nestjs

我开发了简单的 nestjs 休息服务。现在我计划部署我的应用程序。请帮助我以高效的方式部署 nestjs 应用程序。

Kim*_*ern 18

自己的服务器

1)在您的服务器上签出项目的存储库并运行npm install.

2)运行npm run build将您的项目编译为javascript:

rimraf dist && tsc -p tsconfig.build.json
Run Code Online (Sandbox Code Playgroud)

3) 开始你的申请:

node dist/main.js
Run Code Online (Sandbox Code Playgroud)

无服务器

现在时代

看到这个答案

赫鲁库

1) 将文件添加Procfile到项目的根目录:

web: npm run start:prod
Run Code Online (Sandbox Code Playgroud)

2) 将此行添加到您package.jsonscripts:

"heroku-postbuild": "echo Skip builds on Heroku"
Run Code Online (Sandbox Code Playgroud)

3)在您的main.ts(或在您的ConfigService)中设置端口

await app.listen(process.env.PORT || 3000);
Run Code Online (Sandbox Code Playgroud)

  • 默认情况下,@Eve NestJS 无法处理这样的绝对路径。将其替换为相对路径,例如“../../article/article.entity”。当您进行这样的生产构建时,它会将所有文件移动到名为“dist”的文件夹中,该文件夹中不包含“src”文件夹,这就是为什么当您尝试运行时它会说找不到该文件您的生产版本。 (3认同)