嗨各位~ 我是 Robin !
今天要分享 REPL
REPL 简单来说就是在 Terminal 可以像是你打开浏览器的 console 快速的测试你的 JS,我一开始知道的时候真心觉得我是个笨蛋Orz
我每次测试我的 Node.js 一些功能时都还是...
编辑某个档案 -> 储存 -> 执行写好的测试。
甚至需要
打开浏览器 -> 打开 开发人员工具 -> 切换到 console -> 测试。
直到我发现REPL
才发现...笑着哭
最痛
此篇学习目标 ◑ω◐ :
REPL 基本介绍进入和离开 REPL 的世界多行的 Javascript特殊的底线变数自订 REPL 消除无意义的 undefineREPL 基本介绍
REPL 发音为 repple
,全名又为 read-eval-print loop ,所以他是什么?
直接看以下GIF
嗯,就是你跟他你一来我一句的互动式元件
就犹如你打开浏览器的开发人员工具 console。
我其实也是看到这本书我才知道有这功能Orz
而他除了可以让你编撰写你的应用程式同时快速测试之外,REPL 还可以让你更知道更底层的 javascript
书上说的xDDD
但是我在範例只看到他使用3>2>1
会回传 false
这个範例。
进入和离开 REPL 的世界
由简介的 GIF 已经看到了要打开 REPL ,
只需要在 Terminal 输入 node
,并且不要加上任何 Node 程式。
如图
会看到图上出现Node 版本号 和 >
,就代表你已经进去了。
在这里的世界,任何东西都会被底层的 V8 Javascript 引擎处理。
而退如果要离开这世界也很简单
(To exit, press ^C again or ^D or type .exit)
多行的 Javascript
看到上面的範例会想说...
他是不是只能输入一行啊...
这样要测试一些 function 之类的不就尴尬了,
No No No~
他不是只能你一言我一句,他可以我一堆话你一句。
也就是可以执行多行运算式,譬如以下列範例
他会判断以左大括弧{
为开始自动帮你把下面几行都增加 ···
帮助你撰写,而结尾就是以又括弧 }
为对应。
而套叠越深的话他的···
也会越多所以不用担心。
然后!你也可以透过複製贴上的方式也可以给 REPL 执行
特殊的底线变数
这个就是你可以直接使用底线来存取最后一次的运算式
如下
自订 REPL 消除无意义的 undefine
在第一个範例中 var a = 3
会回传 undefine ,这对我来说真的算满没意义的,那我们可以利用 Node 提供的 API 自订 REPL 来消除他。
而自订 REPL 主要的作法是
repl.start(options);
那我们开始实作刚刚说的消除 undefine
repl.js
先引入 REPL 模组var repl = require('repl');
写入optionsvar repl = require('repl');repl.start({ prompt: 'robin repl>', //预设是 > replMode: repl.REPL_MODE_STRICT, ignoreUndefined: true,});
存挡执行该 Node 应用程式node repl.js

相关的设定可以参照官方的 ducument
以上。
感谢大大观看
参考文献
Node ducument
Node.js REPL(交互式解释器)