Node 命令

在系统中安装完 Node.js 后,Node.js 会提供一个名为node的程序,该程序用于执行 JavaScript 文件。假设你有一个文件 hello.js,该文件会包含以下代码。

  1. let message = "Hello world";
  2. console.log(message);

读者可以仿照下面这种方式通过命令行执行程序。

  1. $ node hello.js
  2. Hello world

Node 中的console.log方法与浏览器中所做的类似,都用于打印文本片段。但在 Node 中,该方法不会将文本显示在浏览器的 JavaScript 控制台中,而显示在标准输出流中。从命令行运行node时,这意味着你会在终端中看到记录的值。

若你执行node时不附带任何参数,node会给出提示符,读者可以输入 JavaScript 代码并立即看到执行结果。

  1. $ node
  2. > 1 + 1
  3. 2
  4. > [-1, -2, -3].map(Math.abs)
  5. [1, 2, 3]
  6. > process.exit(0)
  7. $

process绑定类似于console绑定,是 Node 中的全局绑定。该绑定提供了多种方式来监听并操作当前程序。该绑定中的exit方法可以结束进程并赋予一个退出状态码,告知启动node的程序(在本例中时命令行 Shell),当前程序是成功完成(代码为 0),还是遇到了错误(其他代码)。

读者可以读取process.argv来获取传递给脚本的命令行参数,该绑定是一个字符串数组。请注意该数组包括了node命令和脚本名称,因此实际的参数从索引 2 处开始。若showargv.js只包含一条console.log(process.argv)语句,你可以这样执行该脚本。

  1. $ node showargv.js one --and two
  2. ["node", "/tmp/showargv.js", "one", "--and", "two"]

所有标准 JavaScript 全局绑定,比如ArrayMath以及JSON也都存在于 Node 环境中。而与浏览器相关的功能,比如documentalert则不存在。