Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何将我的Typescript Node.js应用程序部署到Heroku?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在本地测试我以前运行:

"build-live": "nodemon --exec ./node_modules/.bin/ts-node -r dotenv/config -- ./index.ts"

然后我想我的procfile应该是这样的

web: ./node_modules/.bin/ts-node -- ./index.ts

但它说模块’typescript’没有找到,即使它在package.json中.我在一些地方读到ts-node不是部署到Heroku的方式,所以我不知道该怎么做.

更新:我想我应该编译它,所以我试过:

web: ./node_modules/.bin/tsc --module commonjs --allowJs --outDir build/ --sourceMap --target es6 index.ts && node build/index.js

这成功了,但是当实际运行它时,我正在使用的一堆lib得到“找不到模块’……’”.

解决方法

您给Heroku的命令是通过编译index.ts和依赖项以及在index.js处启动节点来启动Web“进程”.根据事物的定时方式,index.js在节点启动时可能存在也可能不存在.

您需要在您想要启动应用程序时编译源代码.例如,web应该只是web:node index.js或类似的.

每个构建过程都是不同的,因此您需要为自己的设置找出答案.但是,假设你有一个经典的设置,你可以推送到git,然后Heroku接收到这个更改并用新的slug更新应用程序.您可以在本地编译并在存储库中包含index.js和任何其他构建输出,以便在Heroku使用的slug中可用.

更好的方法是使用与Heroku集成的构建服务器.在那里进行构建之后,将其配置为将构建结果发送到Heroku. Travis有这样一个简单的设置.这样,您就不需要在存储库中包含构建输出,这被视为反模式.

在sidenode上,尝试使用tsconfig.json来保持tsc配置.它将使您不必在整个地方编写如此长的命令行.

大佬总结

以上是大佬教程为你收集整理的如何将我的Typescript Node.js应用程序部署到Heroku?全部内容,希望文章能够帮你解决如何将我的Typescript Node.js应用程序部署到Heroku?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。