如何将多行文本粘贴到nodejs REPL而不发送垃圾邮件终端

时间:2015-10-04 11:13:11

标签: node.js

我正在通过Linux终端使用nodejs REPL。我有很大一部分代码要粘贴到nodejs中。但是,粘贴代码会导致终端在一段时间内无响应。这是因为REPL在表达式的每一行都吐出以下文本:

Array                 Boolean               Date                  Error                 EvalError
Function              Infinity              JSON                  Math                  NaN
Number                Object                RangeError            ReferenceError        RegExp
String                SyntaxError           TypeError             URIError              decodeURI
decodeURIComponent    encodeURI             encodeURIComponent    eval                  isFinite
isNaN                 parseFloat            parseInt              undefined                 

ArrayBuffer           Buffer                DataView              FMM                   Float32Array
Float64Array          GLOBAL                Int16Array            Int32Array            Int8Array
Uint16Array           Uint32Array           Uint8Array            Uint8ClampedArray     _
assert                buffer                child_process         clearImmediate        clearInterval
clearTimeout          cluster               console               crypto                dgram
dns                   domain                escape                events                fs
global                http                  https                 module                net
os                    path                  process               punycode              querystring
readline              require               root                  setImmediate          setInterval
setTimeout            stream                string_decoder        tls                   tty
unescape              url                   util                  vm                    zlib    

__defineGetter__      __defineSetter__      __lookupGetter__      __lookupSetter__      constructor
hasOwnProperty        isPrototypeOf         propertyIsEnumerable  toLocaleString        toString
valueOf               

这有点烦人。我知道我可以通过将其粘贴到文件并将其加载到REPL中来解决它:

.load some-file.js

但我想知道是否有办法单独粘贴,而且我确信必须有时间和地点。

2 个答案:

答案 0 :(得分:7)

问题是您的代码使用制表符进行缩进,而Node.js REPL将制表符视为自动完成的提示。

要解决此问题,请使用忽略标签的.editor命令:

$ node
> .editor
// Entering editor mode (^D to finish, ^C to cancel)
function a() {
    console.log('hello world');
}
a();
// type ^D here
hello world
undefined
> 

.editor是Node.js v6.4.0中添加的一项功能,因此,如果您碰巧使用的版本低于此版本,则表示您运气不佳。

有关这些特殊REPL命令的更多信息,请查看Node.js documentation

答案 1 :(得分:0)

只需在所有内容中加上双引号

"aaa bbb ccc ddd"

并粘贴它,包括那些引号