npm - 启动服务器端(后端)的唯一方法是使用“npm start”之类的命令行运行它们?
问题描述
...有没有像编译项目并使其运行为可自动执行的?
对不起,一般问题。我一直在做服务器端的小项目,我发现我总是需要写“npm start”左右才能让整个开始工作。
我的疑问是,这些项目是否需要以某种方式进行编译,或者就这样,一条简单的行运行编码文件并且像服务器端一样工作?
此外,当系统重新启动时,服务器端是否应该能够自行运行(根据定义)?到目前为止,我需要在 Windows 中创建 bat 文件/启动文件夹,以便在重启时运行。
解决方案
根据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 来完成。
推荐阅读
- excel - 在 Excel 中修改范围引用中间公式
- c# - 范围验证器显示错误消息但不阻止提交按钮单击
- php - 如何获取元属性="og:image"
- apache-kafka - 配置为需要 Kafka client.id
- firebase - StreamBuilder 中的数据在 Firebase RTDB get() 调用之外不断返回 null
- security - 无法理解 Web 应用程序的多种身份验证/技术方式
- javascript - 缩短具有相同类的 jQuery 选择器
- flutter - 事件上的颤动圆形动画
- python - 如何在 Google Colab 上以流模式加载数据集?
- laravel - 有没有办法让我的产品页面先有库存,然后在页面末尾缺货?