无法将Nestjs部署到Heroku

o2gm4chl  于 2022-11-13  发布在  其他
关注(0)|答案(3)|浏览(99)

我尝试将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移动到依赖项,但没有成功

mm5n2pyu

mm5n2pyu1#

如果您不局限于单个部署选项,那么Next js可以与vercel完美搭配。

wd2eg0qa

wd2eg0qa2#

显然Nest.js在dist/src/中构建了main.js
我还使用web: npm run start:prod创建了一个Procfile来运行应用程序

zrfyljdw

zrfyljdw3#

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

相关问题