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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (66)

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

有没有办法让节点执行我的脚本,然后用所有已声明的全局变量跳转到REPL中,就像我可以使用python -i foo.pyghci 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

如果希望它监视当前和所有子目录中的所有文件,并在更改时将它们传送到repl中: replpad .

查看网站上的视频,以更好地了解它的工作原理,并了解其它一些具有以下优点的功能:

  • 通过dox()添加到每个核心功能的功能,即在repl中访问核心模块文档fs.readdir.dox()
  • 通过dox()添加到通过npm安装的每个模块的功能访问repl中的用户模块自述文件,即marked.dox()
  • 访问函数突出显示的源代码定义哪里函数的信息(文件,linenumber)和函数注释和/或jsdocs,尽可能通过src添加到每个函数的属性express.logger.src
  • 对话支持 (见.talk命令)
  • 添加命令和键盘快捷键
  • vim密钥绑定
  • 关键地图支持
  • parens通过匹配令牌插件进行匹配
  • 通过键盘快捷键或.append命令将在repl中输入的代码附加到文件中

扫码关注云+社区

领取腾讯云代金券