Javascript “如何禁用”;特别命令;在node.js REPL中?
问题节点REPL有一些类似于Javascript “如何禁用”;特别命令;在node.js REPL中?,javascript,node.js,console,read-eval-print-loop,Javascript,Node.js,Console,Read Eval Print Loop,问题节点REPL有一些类似于.break和.save。我从不使用这些,但我经常尝试粘贴到REPL代码中,其格式如下: words.append('ul') .classed('my-class', true) .selectAll('li.new-class') .data((tuple, tupleIdx) => obj[tupleIdx]) .enter() .append('li') .classed('new-class', true
.break
和.save
。我从不使用这些,但我经常尝试粘贴到REPL代码中,其格式如下:
words.append('ul')
.classed('my-class', true)
.selectAll('li.new-class')
.data((tuple, tupleIdx) => obj[tupleIdx])
.enter()
.append('li')
.classed('new-class', true)
.text(d => '' + foo(d));
(这是d3.js代码,但在使用Promissions时也会发生类似的情况,Promissions是一系列。然后(…)
s从每一行开始。)
当然,当node看到.classed
或时,它会抱怨“REPL关键字无效”。然后在自己的行上
,并继续打印几个屏幕长的一系列错误消息
脆弱的伪解决方法我在Vim中使用了一个regexp来解决这个问题,它将结束括号和点之间的任何空格移动到点(:%s/)\n\(\s*\)\。/)。\r\1/
为了完整性),但这很繁琐,我通常希望从浏览器复制粘贴,而不是切换到Vim来重新格式化某些代码
问题是否有任何方法可以禁用node REPL“功能”,这些功能虽然用意良好,但与标准JavaScript实践(例如以点开头的行)相冲突
或者这对于终端应用程序来说太复杂了,如果是的话,有没有一种方法可以通过浏览器的JS控制台(不仅仅是处理console.log
)与节点REPL通信
PS.这个问题主要是关于以
开头的行,但另一个这样的冲突是
(谢天谢地,我们已经解决了)。这里有一个尝试性的问题:使用,我编写了一个小模块,允许我粘贴()
剪贴板的内容,并在修复以开头的行后对其进行评估
这将进入paste.js
:
var cp = require('copy-paste'); // npm install node-copy-paste
module.exports = function() {
return eval(cp.paste().replace(/\n\s*\./g, "."));
};
然后在节点REPL中,paste=require('./paste');粘贴()。非常脆弱,但它可能会解决问题,而且往往非常有价值。这里有一个尝试性的东西:使用,我编写了一个小模块,可以粘贴()
剪贴板的内容,并在修复从开始的行后评估它
这将进入paste.js
:
var cp = require('copy-paste'); // npm install node-copy-paste
module.exports = function() {
return eval(cp.paste().replace(/\n\s*\./g, "."));
};
然后在节点REPL中,paste=require('./paste');粘贴()。非常脆弱,但它可能会解决问题,往往是有价值的