首页 > 解决方案 > 服务器运行时的Node.js javascript命令行?

问题描述

如果我有一个使用 express 运行的 node.js Web 服务器,有没有办法获取命令行?有点像浏览器有一个 javascript 控制台的方式。我想输入变量并在 node.js 运行时检查它们。

如果我输入“节点”,那么它会给我一个命令行。但如果我输入“node server.js”,则该命令行不可用。无论服务器的状态如何,如何使命令行始终可用(在屏幕底部)?

标签: javascriptnode.js

解决方案


做这个类型node --inspect server.js

然后连接到它在chrome://inspect/Chrome 的 url 栏中输入。然后单击远程目标下该实例上的“检查”。然后我发现我可以看到命名空间下的变量/对象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);
});

推荐阅读