如何将我的脚本加载到node.js REPL中?
我有一个脚本foo.js
,其中包含一些我想在REPL中玩的功能。
有没有办法让节点执行我的脚本,然后用所有已声明的全局变量跳到REPL中,就像我可以用python -i foo.py
或ghci foo.hs
?
仍然没有提供您描述的确切功能的内置内容。 但是,使用替代方法require
它在REPL中使用.load
命令,如下所示:
.load foo.js
它逐行加载文件,就像在REPL中键入它一样。 与require
不同,它会使用您加载的命令污染REPL历史记录。 但是,它具有可重复性的优点,因为它不像require
那样被缓存。
哪个对你更好取决于你的用例。
编辑:它的适用性有限,因为它不能在严格模式下工作,但三年后,我了解到,如果您的脚本没有'use strict'
,则可以使用eval
加载脚本而不污染REPL历史记录:
var fs = require('fs');
eval(fs.readFileSync('foo.js').toString())
由于厌倦了重复加载脚本,我创建了replpad。
只需通过以下命令安装它: npm install -g replpad
然后通过运行使用它: replpad
如果您希望它监视当前和所有子目录中的所有文件,并在更改do时执行replpad .
它们replpad .
到repl中replpad .
查看网站上的视频,以更好地了解它的工作原理,并了解其它一些具有以下优点的功能:
dox()
函数被添加到每一个核心功能,即fs.readdir.dox()
dox()
函数被添加到通过NPM安装在每个模块,即marked.dox()
src
属性,例如express.logger.src
.talk
命令) .append
命令将在repl中输入的代码附加到文件中 我做了Vorpal.js,它通过将节点添加到交互式CLI中来解决这个问题。 它支持一个REPL扩展,它会将您放入正在运行的应用程序的上下文中的REPL中。
var vorpal = require('vorpal')();
var repl = require('vorpal-repl');
vorpal
.delimiter('myapp>')
.use(repl)
.show()
.parse(process.argv);
然后你可以运行该应用程序,它将放入REPL中。
$ node myapp.js repl
myapp> repl:
链接地址: http://www.djcxy.com/p/97021.html