Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在不使用docker的情况下在生产环境中部署TypeScript Node.js应用程序_Node.js_Typescript_Deployment_Production - Fatal编程技术网

在不使用docker的情况下在生产环境中部署TypeScript Node.js应用程序

在不使用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来构建

在没有docker的情况下在生产环境中部署TypeScript Node.js应用程序的当前最佳实践是什么

在使用git的情况下,存在一个问题,即您需要安装所有依赖项才能构建项目,因为类型是必需的,通常作为devdependency安装。这也意味着您需要安装用于测试、脱毛等的模块,这些模块在生产中根本不需要

我正在考虑将所有类型添加为依赖项,这样就可以运行
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。它非常直观且易于使用。选择要在生产服务器上打包的文件和文件夹非常容易