如何让 Node REPL 只打印结果?
How can I make the Node REPL print the result only?
我想 运行 使用 .load myFile.js
的脚本,但我不想打印文件中的所有内容,只打印文件的 value/result。我正在为我的项目使用 Electron、xterm.js 和 node-pty。
例如,使用此代码:
// type your code here
function sum(x, y) {
return x + y
}
sum(2, 3)
我得到这样的结果:
> // type your code here
undefined
> function sum(x, y) {
... return x + y
... }
undefined
> sum(2, 3)
5
>
如果您对当前范围内的代码 运行 没意见,只需 eval
它:
> eval(fs.readFileSync('myFile.js', 'utf8'))
5
如果你想要一个新的范围,vm.runInNewContext
(这不是安全问题,只是范围清洁):
> vm.runInNewContext(fs.readFileSync('myFile.js', 'utf8'))
5
像 require
can be passed in its second argument 这样的全局变量。
我想 运行 使用 .load myFile.js
的脚本,但我不想打印文件中的所有内容,只打印文件的 value/result。我正在为我的项目使用 Electron、xterm.js 和 node-pty。
例如,使用此代码:
// type your code here
function sum(x, y) {
return x + y
}
sum(2, 3)
我得到这样的结果:
> // type your code here
undefined
> function sum(x, y) {
... return x + y
... }
undefined
> sum(2, 3)
5
>
如果您对当前范围内的代码 运行 没意见,只需 eval
它:
> eval(fs.readFileSync('myFile.js', 'utf8'))
5
如果你想要一个新的范围,vm.runInNewContext
(这不是安全问题,只是范围清洁):
> vm.runInNewContext(fs.readFileSync('myFile.js', 'utf8'))
5
像 require
can be passed in its second argument 这样的全局变量。