uniapp 获取到js文件var一个变量怎么获取到这个变量值_Node.js从零开始——REPL

bc7e1e46662b16062740ad3e41977f89.png

REPL 其实就是 Read Eval Print Loop 的缩写,中文译名是交互式解释器;其实说白了就是命令行的开发工具,这个也是 Node.js 的基础功能之一,使得我们可以不必借助浏览器环境,直接开发和运行一些无需 GUI 的程序,也就从很多方面上看起来更接近传统的开发语言环境。

今天这一章节就来看看它。


1 介绍

Node.js REPLRead Eval Print Loop,交互式解释器) 表示一个电脑的环境,类似 Window 系统的终端或 Unix/Linux shell,我们可以在终端中输入命令,并接收系统的响应。

Node 自带了交互式解释器,可以执行以下任务:

  • 读取 - 读取用户输入,解析输入了 JavaScript 数据结构并存储在内存中
  • 执行 - 执行输入的数据结构
  • 打印 - 输出结果
  • 循环 - 循环操作以上步骤直到用户两次按下 ctrl-c 按钮退出

Node 的交互式解释器可以很好的调试 JavaScript 代码。

我们可以输入 node 命令来启动 Node 的终端:

d93ef36a068aa41ed325926214ed625b.png

这时我们就可以在 > 后输入简单的表达式,并按下回车键来计算结果。

2 简单的表达式运算

接下来让我们在 Node.js REPL 的命令行窗口中执行简单的数学运算:

f73a4ad63eed7bf88ef47c63bc562001.png

3 使用变量

我们也可以将数据存储在变量中,并在需要的时候使用它。

变量声明需要使用 varletconst 等关键字,如果没有使用关键字变量会直接打印出来,并声明为全局变量。

变量可以使用 console.log() 来输出。

10807e629a6f3f4dde1cabba1b93fc28.png

4 多行表达式

Node REPL 支持输入多行表达式,这就有点类似 JavaScript,接下来让我们来执行一个 do-while 循环:

ab5eac3777e81133f913f0908b38fd66.png

... 三个点的符号是系统自动生成的,回车换行后即可;Node 会自动检测是否为连续的表达式。

5 下划线变量

我们可以使用下划线 _ 获取上一个表达式的运算结果:

d567da2817907a1a0e36bc673620d447.png

6 REPL 命令

  • ctrl + c:退出当前终端
  • ctrl + c 按下两次:退出 Node REPL
  • ctrl + d:退出 Node REPL
  • 向上/向下键:查看输入的历史命令
  • tab 键:列出当前命令
  • .help:列出使用命令
  • .break:退出多行表达式
  • .clear:退出多行表达式
  • .save filename:保存当前的 Node REPL 会话到指定文件
  • .load filename :载入当前 Node REPL 会话的文件内容

7 停止 REPL

前面我们已经提到按下两次 ctrl + c 或者 ctrl + d 键就能退出 REPL,其实还有一种方法,是使用命令 .exit

a07d627cce0375d420eaedf03441c9b7.png

8 编写命令行程序

其实这里我们不难看出,REPL 本身是和系统的 shell 有关联的,也就是说它也同样可以直接和操作系统进行命令交互,这样我们就可以直接编程,来实现系统的可执行脚本,例如这里有个一句话的 hello.js

console.log('hello ', process.argv[2]);

我们可以看到参数二是个读取当前进程的参数,如果使用传统的执行方式,比如:

bb909cab77ad3fa5832cd1d712f5dd2f.png

就可以获取到第二个参数并生成结果了,虽然这种方式有点繁琐。

如果是 Linux 的话,我们还可以通过在当前目录下新建 package.json ,写入下面的内容:

{
  "name": "hello",
  "bin": {
    "hello": "hello"
  }
}

然后执行 npm link 命令,从而进行全局模块链接,使得 hello 成为一个可识别的命令:

npm link

最后直接使用即可:

hello Michael

Windows 要想实现就比较复杂,因为 Windows 本身对 .js 有个解释器(Windows Script Host),而直接执行一个 .js 文件的话,就会调用这个解释器,此时它的接口与浏览器和 Node 环境都是很不同的,比如这个直接在控制台显示信息的小程序,直接执行会报错:

f42a9d3f3a4573a11873f507fefdbb72.png

故此,为了让 .js 的默认应用成为 Node,我们还需要比较复杂的操作,除非的确有此必要(比如必须经常的开发基于 Node.js 的命令行工具),我个人觉得就别折腾了,直接在命令行里面 node hello 也可以啦,毕竟出于易用性,给最终用户使用的程序都是有 GUI 的,浏览器或者 Electron GUI 不香么?

命令行工具,我会更倾向于使用 Windows 自带的 PowerShell 或者 Linux BashZsh等,原生的命令用起来还是很容易实现批量工作的,对吧。


所以 REPL 对我来说,更像一个可以及时验证自己灵光一现想法的小平台,而在实际进行开发的过程当中,编辑器和运行平台仍然是获取反馈、排错的首选。

当然每个人都有自己的想法,以上仅仅是我自己的想法,不代表大众。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值