首页 > 解决方案 > 启动服务器端(后端)的唯一方法是使用“npm start”之类的命令行运行它们?

问题描述

...有没有像编译项目并使其运行为可自动执行的?

对不起,一般问题。我一直在做服务器端的小项目,我发现我总是需要写“npm start”左右才能让整个开始工作。

我的疑问是,这些项目是否需要以某种方式进行编译,或者就这样,一条简单的行运行编码文件并且像服务器端一样工作?

此外,当系统重新启动时,服务器端是否应该能够自行运行(根据定义)?到目前为止,我需要在 Windows 中创建 bat 文件/启动文件夹,以便在重启时运行。

标签: npmserver

解决方案


根据NPM 文档

npm start

This runs an arbitrary command specified in the package’s "start" property of its "scripts" object. If no "start" property is specified on the "scripts" object, it will run node server.js.

要启动服务器,您必须启动一个进程,该进程由 npm start 启动。如果进程被杀死,它们将无法自行恢复生命。如果进程被杀死(例如,当您重新启动时),您必须确保自动生成一个新进程。您可以通过多种方式完成此操作。您可以使用服务(例如 Debian 中的 systemctl)。您还可以使用 Kubernetes 之类的工具,它可以在发生崩溃时自动重启容器。

另一种可能的解决方案是使用类似Respawn的东西,如果它从 NodeJS 代码中崩溃,它允许你重新生成一个进程。当然,也可以用普通的 NodeJS 来完成。


推荐阅读