Javascript 在没有实例的情况下结束REPL服务器
如果不通过命令行运行脚本,节点将自动进入REPL模式。我想退出REPL模式。该类有一个Javascript 在没有实例的情况下结束REPL服务器,javascript,node.js,console,read-eval-print-loop,Javascript,Node.js,Console,Read Eval Print Loop,如果不通过命令行运行脚本,节点将自动进入REPL模式。我想退出REPL模式。该类有一个close方法,但我无法调用它,因为我无法访问节点内部使用(node.js第142行)来实现其REPL模式所返回的实例。但是,如何退出REPL模式 node.js第142行的轮廓: // If -i or --interactive were passed, or stdin is a TTY. if (process._forceRepl || NativeModule.require('tty').isat
close
方法,但我无法调用它,因为我无法访问节点内部使用(node.js第142行)来实现其REPL模式所返回的实例。但是,如何退出REPL模式
node.js第142行的轮廓:
// If -i or --interactive were passed, or stdin is a TTY.
if (process._forceRepl || NativeModule.require('tty').isatty(0)) {
// REPL
var opts = {
useGlobal: true,
ignoreUndefined: false
};
if (parseInt(process.env['NODE_NO_READLINE'], 10)) {
opts.terminal = false;
}
if (parseInt(process.env['NODE_DISABLE_COLORS'], 10)) {
opts.useColors = false;
}
var repl = Module.requireRepl().start(opts); // <<< line 142
repl.on('exit', function() {
process.exit();
});
} else {
// Read all of stdin - execute it.
process.stdin.setEncoding('utf8');
var code = '';
process.stdin.on('data', function(d) {
code += d;
});
process.stdin.on('end', function() {
process._eval = code;
evalScript('[stdin]');
});
}
//如果传递了-i或--interactive,或者stdin是TTY。
if(process._forceRepl | | NativeModule.require('tty').isatty(0)){
//答复
变量选项={
是的,
ignoreUndefined:false
};
if(parseInt(process.env['NODE\u NO\u READLINE'],10)){
opts.terminal=false;
}
if(parseInt(process.env['NODE\u DISABLE\u COLORS'],10)){
opts.useColors=false;
}
var repl=Module.requireRepl().start(opts);//从使用节点
命令启动的repl中退出有很多方法。以下是一些方法:
。退出
process.exit();
process.kill()
process.kill(process.pid);
由于您使用的是终端,您还可以通过键入CTRL+C两次来发送SIGINT
。您可以通过程序执行以下操作退出REPL:
repl.rli.close();
这是当您输入。退出时的操作