部署Typescript NodeJS服务器

问题描述:

将TypeScript中编写的NodeJS服务器部署到生产环境的最佳实践是什么?部署Typescript NodeJS服务器

我想避免在我的git存储库中为每个脚本创建3个文件(ts,js,map)。

我可以使用grunt/gulp来创建“dist”目录并将所有已编译的文件复制到那里,但是我会将它们放入我的回购中。我可以为编译后的代码创建单独的回购,但这并不理想,我认为。

此外,当我运行node app.ts没有js或地图存在时,它实际上启动一切正常。那么编译的文件甚至需要节点服务器吗?

注意:我没有任何编译脚本/任务,我的IDE正在为我自动编译ts文件。

您可以使用打字稿做这一切为你

tsconfig.json

{ 
    ... 
    "outDir": "dist", 
    "sourceMap": false, 
    "declaration": false 
} 
  • outDir将文件编译成dist目录
  • sourceMap将决定是否输出.map档案
  • declaration将确定输出.d.ts文件

更多选项是否能找到here和使用tsconfig.json文件的信息,可以发现here

+0

但是这仍然需要手动工序难道不?我正在寻找的是推* .ts回购,然后自动将其拉到服务器上,而无需我登录,甚至更好,而不依赖于服务器上的编译过程。如果那样会失败,那将会很麻烦 – Tom

+0

编译在某些时候是必要的。使用配置项编译配置文件并将其部署到成功的服务器上很常见。另一种方法是使用类似'npm'的东西来只发布已编译的文件,然后触发一个部署到从npm库中取出的服务器上。没有什么神奇的方式来做你正在问的问题,你需要设置一个基础设施路径来处理这个问题。有很多关于这方面的指南和教程,你可以在网上找到,并且不需要特别针对TypeScript,因为在编译之后,只需JavaScript就可以了。 – SnareChops

+0

对,所以答案是预编译开发机器上的代码并推送它相同的回购或单独回购只为编译的代码。现在为什么那个节点app.ts没有运行js文件? – Tom