在不使用docker的情况下在生产环境中部署TypeScript Node.js应用程序
在没有docker的情况下在生产环境中部署TypeScript Node.js应用程序的当前最佳实践是什么 在使用git的情况下,存在一个问题,即您需要安装所有依赖项才能构建项目,因为类型是必需的,通常作为devdependency安装。这也意味着您需要安装用于测试、脱毛等的模块,这些模块在生产中根本不需要 我正在考虑将所有类型添加为依赖项,这样就可以运行在不使用docker的情况下在生产环境中部署TypeScript Node.js应用程序,node.js,typescript,deployment,production,Node.js,Typescript,Deployment,Production,在没有docker的情况下在生产环境中部署TypeScript Node.js应用程序的当前最佳实践是什么 在使用git的情况下,存在一个问题,即您需要安装所有依赖项才能构建项目,因为类型是必需的,通常作为devdependency安装。这也意味着您需要安装用于测试、脱毛等的模块,这些模块在生产中根本不需要 我正在考虑将所有类型添加为依赖项,这样就可以运行npm install--production,以避免安装所有devdependency,并且仍然能够通过运行npm run build来构建
npm install--production
,以避免安装所有devdependency,并且仍然能够通过运行npm run build
来构建项目
我考虑的另一个解决方案是通过npm部署,类似于TypeScript节点模块的发布和安装方式,但该解决方案似乎也不太理想。为什么要将所有类型添加为依赖项?没有必要这样做,您的生产应用程序不应该包含所有的开发依赖项。通常,当运行
npm run build
命令时,执行tsc
(typescript编译器),并将typescript代码转换为javascript。传输的代码中不需要包含所有的开发依赖项。传输代码的默认位置通常是dist
文件夹。如果您的应用程序入口点是src/index.ts
,那么在生成命令之后,您应该调用node dist/index.js
来运行服务器。现在,您需要打包应用程序进行生产的所有东西都是package.json
和dist
文件夹中的传输代码。安装产品依赖项并运行node dist/index.js
,您的服务器应该会成功运行。当然,您应该考虑为您的生产代码配置或类似的过程管理器。我同意您所说的一切,但您使用什么工具来打包应用程序(DIST文件夹+包?JSON),然后将其部署到服务器上?目标是能够自动化整个过程。当然,对于docker来说,这很容易,但是我正在尝试找到一个没有docker的解决方案,我正在使用AzureDevops。它非常直观且易于使用。选择要在生产服务器上打包的文件和文件夹非常容易