【问题标题】:Can't deploy Nestjs to Heroku无法将 Nestjs 部署到 Heroku
【发布时间】:2022-10-21 01:44:51
【问题描述】:

我正在尝试将nestjs 应用程序部署到heroku,但我在日志中收到此错误

2022-09-03T16:19:06.793730+00:00 app[web.1]: > pokedex@0.0.1 start:prod
2022-09-03T16:19:06.793731+00:00 app[web.1]: > node dist/main
2022-09-03T16:19:06.793731+00:00 app[web.1]: 
2022-09-03T16:19:06.859243+00:00 app[web.1]: node:internal/modules/cjs/loader:959
2022-09-03T16:19:06.859244+00:00 app[web.1]:   throw err;
2022-09-03T16:19:06.859245+00:00 app[web.1]:   ^
2022-09-03T16:19:06.859245+00:00 app[web.1]: 
2022-09-03T16:19:06.859245+00:00 app[web.1]: Error: Cannot find module '/app/dist/main'
2022-09-03T16:19:06.859246+00:00 app[web.1]:     at Function.Module._resolveFilename (node:internal/modules/cjs/loader:956:15)
2022-09-03T16:19:06.859247+00:00 app[web.1]:     at Function.Module._load (node:internal/modules/cjs/loader:804:27)
2022-09-03T16:19:06.859247+00:00 app[web.1]:     at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
2022-09-03T16:19:06.859247+00:00 app[web.1]:     at node:internal/main/run_main_module:17:47 {
2022-09-03T16:19:06.859248+00:00 app[web.1]:   code: 'MODULE_NOT_FOUND',
2022-09-03T16:19:06.859248+00:00 app[web.1]:   requireStack: []
2022-09-03T16:19:06.859249+00:00 app[web.1]: }

我使用 npm run start:prod 命令创建了一个 Procfile,还尝试将 @nestjs/cli devDependency 移动到依赖项,但它不起作用

【问题讨论】:

  • 在您的本地目录中,当您运行build 时,您有dist/main 作为输出还是dist/src/main
  • 我不好,main.js 在运行 build 后位于 dist/src/main,谢谢

标签: api heroku deployment nestjs backend


【解决方案1】:

如果您不受单一部署选项的限制,Next js 与 vercel 完美搭配

【讨论】:

  • NestJS 是一个使用 OOP 和装饰器构建在 Express 或 Fastify 之上的 Node 框架。与 react 或 NextJS 完全无关。令人困惑的名字,我知道,但正因为如此,Vercel 不会是一个选择
【解决方案2】:

显然 Nest.js 在 dist/src/ 中构建 main.js

我还使用web: npm run start:prod 创建了一个 Procfile 来运行该应用程序

【讨论】:

    【解决方案3】:

    由于项目的构建方式,package.json 中的 start:prod 命令应更新为 "start:prod": "node dist/src/main"。通常这意味着在src 之外有一个ts 文件作为项目的一部分被读取,或者源根目录之外的文件正在发生其他一些导入

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-19
      • 1970-01-01
      • 1970-01-01
      • 2017-02-02
      • 1970-01-01
      • 2018-01-09
      • 2012-05-26
      相关资源
      最近更新 更多