Tag: read eval print loop

在Node REPL中随时重新加载模块

我正在用REPLtesting我的模块,像这样: repl.start({ input: process.stdin, output: process.stdout }) .context.MyModule = MyModule; 有没有办法自动重新加载模块,当我改变和保存它,而不必退出并再次运行repl?

是使用vim-key-binding启用node.js REPLterminal颜色的一种方法吗?

在terminal中运行node将使您进入其REPL模式,语法突出显示(例如,数字是黄色的,而string是绿色的)。 但是,我不熟悉它的默认emacs键绑定,所以我遵循一些build议: alias node='env NODE_NO_READLINE=1 rlwrap node' 这个工作很好,我得到vim键绑定,但语法高亮是禁用的。 所以我再试一次: alias node='rlwrap -a node' 这次我得到了vim-key-binding和syntax highlighter两种工作方式,但是当我将其input到REPL模式时,会出现一些bug: > [1,2,3] 输出是正确的(使用语法高亮显示) [ 1, 2, 3, 4 ] 但从上面的input行已经改变 > [1,[1,2,3] 这个bug比没有语法高亮更烦人。 任何想法,使这两件事情一起工作好吗? PS我不需要tab-compilation(至less在这个时候)。

在Emacs的nodejs模式下得到垃圾提示

我在Emacs 24上使用nodejs-mode ,但是当我input: Mx nodejs 它提示垃圾提示像[0J> ,现在即使我已经在下面添加了 (setq ansi-color-for-comint-mode t) 在emacs文件中。 它仍然不起作用。 所有相同的,如果我在Emacs shell-mode上键入node目录,那么我会得到一个更恼人的提示,如下所示: ryu@ryu:~$ node [1G[0J> [3G 有没有人知道为什么这样做?

是否有像Nodey的iPython的REPL?

是否有任何“repl +额外function”(如显示文档,模块自动重新加载等)的孩子,像iPython,但对于Nodejs? 我的意思是在本地和离线运行的东西。 这是必须的。 最好在terminal模式下工作,并在顶部有一个可选的更好的GUI(如iPython + iPythonQT / Jupyter-qtconsole)。 标准的Nodejs repl是可用的,但它具有可怕的可用性(点击向上箭头循环,而不是通过多行命令的repl hisoty,正如你所期望的任何理智的repl工作,交互式地尝试类的声明),而且是非常秃头的。 每当我从iPython切换到这是痛苦的。 一个类似Chrome浏览器的repl,你也可以通过启动一个node-inspectordebugging会话来运行节点,这样更加实用…但也太麻烦了。

节点js与shell应用程序交互

网上有很多关于如何产生一个subprocess的节点js例子,然后把结果作为一个string来处理。 但… 我想与孩subprocess“互动”。 例如,我将如何编写节点js应用程序,而不是通过调用“ python ”开始,然后在继续input另一个任意语句“ 4+4 ”之前键入语句“ 1+1 ”,让我捕获结果“ 2 ” ? (通过“types”我假设它将需要stream数据到该进程使用的标准input)。

Node.js:挂钩repl到远程节点服务器

假设我有一个在mysite.com上运行的节点服务器。 有没有办法设置该服务器,以便我可以使用节点的repl API从我的本地机器安全地连接到它?

如何在NodeJS应用程序的服务器端使用JavaScript库,以便在客户端上运行?

我正在深入NodeJS和Express(对我来说太复杂了)来构build一个实时的Web应用程序。 目前,我正在尝试了解如何在服务器端使用现有的JavaScript库。 问题在于库似乎devise为在客户端运行,因此,这些指令仅向您显示如何在客户端使用它。 我在说的图书馆可以在这里find… https://github.com/replit/jsrepl 问题: 由于一个NodeJS的Web应用程序是build立在JavaScript,是否公平地说,我可以在服务器端运行任何非GUI JavaScript库? 任何人都可以提供一些关于如何将jsrepl库添加到我的Express 3.0应用程序中的一些指导,使我可以像在客户端使用浏览器一样使用它。 我必须修改jsrepl代码并添加“exports”。 到我想要使用的方法? 意思,在服务器端,我可以执行下面的代码… var jsrepl = new JSREPL({ input: inputCallback, output: outputCallback, result: resultCallback, error: errorCallback, progress: progressCallback, timeout: { time: 30000, callback: timeoutCallback } }); 提前感谢您的智慧! 我正在尽力理解这一切。

在Node.js REPL中,为什么会发生这种情况?

所以当我发现一些非常奇怪的东西时,我正在玩Node.js REPL和Underscore库。 如果我require("underscore") ,variables_被全局设置(显然)。 然后,当我试图运行一个简单的命令,如console.log(_.isEmpty)它打印[Function] (显然,再次)。 但是,在_.isEmpty运行console.log(_)后,它会打印[Function]因为variables_被设置为_.isEmpty 。 为什么这样做呢? 如果我从一个js文件运行相同的代码,这不会发生。 这是一个正常的节点事情还是这是一个总的错误? 仅供参考:节点v.10.10.10

使用vim keybindings和方法/variables完成的Node.js REPL

据我所知,在Node REPL中获得vim keybindings的标准方法是像这样使用rlwrap : NODE_NO_READLINE=1 rlwrap node 然而,这杀死了方法和variablestab-completion。 有一些解决方法吗?

防止打印输出的Node.js repl

如果一些JavaScript计算的结果是一个10000个元素的数组,Node.js repl会打印出来。 我如何防止这样做? 谢谢