小编典典

如何将脚本加载到node.js REPL中?

node.js

我有一个脚本foo.js,其中包含一些我想在REPL中使用的功能。

有没有办法让节点执行我的脚本,然后使用所有声明的全局变量跳入REPL,就像我可以使用python -i foo.pyor一样ghci foo.hs


阅读 333

收藏
2020-07-07

共1个答案

小编典典

仍然没有内置功能可以提供您描述的确切功能。但是,也可以使用require它来在REPL中使用.load命令,例如:

.load foo.js

它会逐行加载文件,就像您在REPL中键入文件一样。与require此不同,这会使用您加载的命令污染REPL历史记录。但是,它具有可重复的优势,因为它没有像一样被缓存require

哪种对您更好,将取决于您的用例。


编辑: 它的适用性有限,因为它不能在严格模式下工作,但是三年后,我了解到,如果您的脚本没有'usestrict',您可以使用它eval来加载脚本\而不会污染REPL历史记录:

var fs = require('fs');
eval(fs.readFileSync('foo.js').toString())
2020-07-07