我想使用.load myFile.js
运行脚本,但我不想打印文件中的所有内容,只打印文件的值/结果。我正在为我的项目使用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
>
答案 0 :(得分:2)
如果您对在当前范围内运行的代码感到满意,只需eval
:
> eval(fs.readFileSync('myFile.js', 'utf8'))
5
如果你想要一个新的范围,vm.runInNewContext
(这不是一个安全问题,只有范围清洁度):
> vm.runInNewContext(fs.readFileSync('myFile.js', 'utf8'))
5
全球比赛,例如require
String.prototype.replace()。