本章介绍 Node.js 的第一步。
node -h
node -v
npm 版本
node -p process.versions
Node.js 的安装程序还会安装包管理器 npm。它可以从 Node.js 主页 下载,并且适用于许多操作系统。
Node.js REPL(读取-评估-打印循环)是一个命令行,我们可以在其中交互式地评估 Node.js 代码。
我们可以在 JavaScript 严格模式(更安全,并且默认情况下为 ESM 模块中的代码启用)下启动 Node.js REPL
node --use_strict
如果我们在没有任何参数的情况下运行 node
,则 Node.js REPL 不会使用严格模式
node
这就是使用 Node.js REPL 的样子(%
是 Unix shell 提示符,>
是 Node.js REPL 提示符)
% node
Welcome to Node.js v18.9.0.
Type ".help" for more information.
> path.join('dir', 'sub', 'file.txt')
'dir/sub/file.txt'
>
Node 的所有内置模块都可以通过 REPL 中的全局变量访问:assert
、path
、fs
、util
等。
我们可以使用带有选项 --print
(缩写:-p
)的 shell 命令 node
来打印评估 JavaScript 表达式的结果。与 REPL 类似,所有内置模块都可以通过全局变量访问。例如,以下命令打印主目录的路径,并且适用于 Unix 和 Windows
node -p "os.homedir()"
有关此命令行选项的更多信息,请参阅 §15.7.7 “node --eval
和 node --print
”。
以以下模块为例
// my-module.mjs
import * as os from 'node:os';
console.log(os.userInfo());
我们可以通过以下方式从 shell 运行它
node my-module.mjs
我们还可以运行已复制到剪贴板的 Node.js 代码。例如,我们可以从上一节复制 my-module.mjs
的代码,并在 macOS 上像这样运行它
pbpaste | node --input-type=module
选项 --input-type=module
告诉 Node.js 将从标准输入接收的代码解释为模块。除其他外,这使我们能够使用 import
。
macOS shell 命令 pbpaste
将剪贴板的内容发送到标准输出。其他操作系统具有类似的 shell 命令
powershell get-clipboard
get-clipboard
xclip