我的脚本中有以下内容:
var server = http.createServer(handleRequest);
server.listen(3000, function(err){
console.log(err || 'Server listening on 3000');
});
当我在终端中执行脚本时:
nodejs file.js
它以无限循环运行,直到我按 Ctrl + C 。是否可以在进程运行时输入自定义命令,因为它不会返回到默认终端?我想在我的应用程序中添加一些自定义命令,例如(但不限于):
答案 0 :(得分:3)
您可以使用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]();
}
});