在像Clojure
和Scheme
这样的语言中,我真的很喜欢在REPL驱动模式下编写代码,当你在编辑器中编写一段代码(在我的例子中是Emacs
),把它发送到你的REPL,玩它,然后回到编辑器,修复发现的问题,并再次把代码发送到REPL。
我试着对Node.js
做同样的事情,如果我只使用ES5
语法的话,效果还不错,但是如果我使用ES6
的特性,比如const
,let
和class
,我预料到在重新计算我的声明时会出现错误:
> let foo = 1;
> let foo = 2;
TypeError: Identifier 'foo' has already been declared
有没有Node.js REPL
参数,或者修补的REPLs
,或者甚至是一些神奇的Emacs
模式,可以在我重新计算代码时清除现有的声明?这样我就可以用这种方式编写Node.js
代码,而不需要不断地思考我使用的语法和/或在每次重新计算时手动重新启动REPL
。
1条答案
按热度按时间sulc1iza1#
如果使用的是
nodejs-repl
,则可以计算(M-:
)以下代码:这不是一个最佳解决方案,但它的工作原理如下:
nodejs-repl
如果你想用另一个REPL来运行它,只需将缓冲区名称和命令改为"re-run"。
希望能有所帮助,
最好的问候
编辑
这里有一个更合适的解决方案,将其添加到您的
.emacs
或nodejs-repl.el
:它几乎做了同样的事情,但它没有杀死缓冲区,而是擦除它。