gpt4 book ai didi

javascript - http.listen() 在运行时接受终端命令

转载 作者:行者123 更新时间:2023-11-28 19:17:37 25 4
gpt4 key购买 nike

我的脚本中有以下内容:

var server = http.createServer(handleRequest);
server.listen(3000, function(err){
console.log(err || 'Server listening on 3000');
});

当我在终端中执行脚本时:

nodejs file.js

它会无限循环运行,直到我按下 Ctrl + C。是否可以在进程运行时输入自定义命令,因为它不会返回默认终端?我想向我的应用程序添加一些自定义命令,例如(但不限于):

  • 停止
  • 重新加载
  • 重新启动

最佳答案

您可以使用process.stdin流(data 事件在换行符上触发):

var http = require('http');

var server = http.createServer(function (err, req, res) {
// ...
});
server.listen(3000, function(err){
console.log(err || 'Server listening on 3000');
});

var commands = {
stop: function () {
console.log('> stop');
},
start: function () {
console.log('> start')
},
restart: function () {
console.log('> restart')
}
}

process.stdin.on('data', function (data) {
data = (data + '').trim().toLowerCase();
if (data in commands) {
commands[data]();
}
});

仅供引用nodemon执行类似的操作(当输入 rs source 时,它会重新启动服务器)

关于javascript - http.listen() 在运行时接受终端命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29503657/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com