如果我有一个运行 express 的 node.js Web 服务器,有没有办法获取命令行?有点像浏览器有一个 javascript 控制台的方式。我想输入变量并在 node.js 运行时检查它们。
如果我输入“node”,它会给我一个命令行。但是如果我输入“node server.js”,该命令行将不可用。无论服务器的状态如何,如何使命令行始终可用(在屏幕底部)?
答案 0 :(得分:0)
要做到这一点node --inspect server.js
然后在 Chrome 的 url 栏中输入 chrome://inspect/
以连接到它。然后在远程目标下的该实例上单击“检查”。然后我发现我可以看到 global
命名空间下的变量/对象。
此外,一种在服务器窗口本身上添加键盘交互而无需连接到它的非常基本的方法:
var readline = require('readline');
readline.emitKeypressEvents(process.stdin);
process.stdin.setRawMode(true);
setInterval(function() {
console.log('server stuff');
}, 1000);
process.stdin.on('keypress', (str, key) => {
if(key.sequence === '\u0003') {
console.log('ctrl-c pressed');
process.exit();
}
console.log('you pressed: ' + key.name);
});