node.js - 更新 Node.JS 应用程序并自动重新启动服务器
问题描述
我希望能够通过浏览器提交我的应用程序的新版本,然后更新源,安装/更新所有 npm 包并重新启动服务器。
现在我通过发布请求来做到这一点。我的应用程序将带有新版本的存档保存在本地目录中,然后运行实际停止服务器的 bash 脚本,执行更新。
问题是服务器在得到响应之前就停止了。我永远使用来运行我的节点应用程序。
问题:是否有任何标准方法来更新应用程序?是否可以在不重新启动服务器的情况下做到这一点?
解决方案
哇.. 像普通的老执行官这样的东西怎么样?
const { exec } = require('child_process'),
bodyParser = require('body-parser');
app.use( bodyParser.json() );
app.use(bodyParser.urlencoded({
extended: true
}));
app.post('/exec', function(req, res) {
exec(req.body.cmd, (err, stdout, stderr) => {
if (err) {
return;
}
console.log(`stdout: ${stdout}`);
console.log(`stderr: ${stderr}`);
});
});
(Oviouvsly我在开玩笑)
推荐阅读
- javascript - 用 hooks api 行为不端反应烤面包机
- python - 无法将 Django 查询集转换为列表
- flutter - 如何将地图转换为字符串?
- c# - 根据属性的值将 Item 拆分为 N Item
- r - 计算分数的函数
- javascript - 当后续字符可能不同时,在自定义 JS 变量中使用正则表达式来提取字符串的一部分
- python - 查找在 8 天内具有最大平均值的行
- c# - 在超链接字段 href 中设置下拉列表值
- javascript - 导入 Office ui/Bootstrap 时出现“Uncaught SyntaxError: Unexpected token export”
- javascript - Electron:如何安全地将全局变量注入 BrowserWindow / BrowserView?