Skip to content

从命令行运行 Node.js 脚本

运行 Node.js 程序的常用方法是在全局安装 Node.js 后,运行全局可用的 node 命令,并传入要执行的文件名。

如果你的主 Node.js 应用程序文件是 app.js,你可以通过键入以下命令来调用它:

bash
node app.js

上面,你明确地告诉 shell 使用 node 运行你的脚本。你也可以将此信息嵌入到你的 JavaScript 文件中,使用“shebang”行。“shebang”是文件的第一行,它告诉操作系统使用哪个解释器来运行脚本。以下是 JavaScript 的第一行:

javascript
#!/usr/bin/node

上面,我们明确地给出了解释器的绝对路径。并非所有操作系统都在 bin 文件夹中都有 node,但所有操作系统都应该有 env。你可以告诉操作系统使用 node 作为参数运行 env

javascript
#!/usr/bin/env node
// 你的 javascript 代码

要使用 shebang,你的文件应该具有可执行权限。

你可以通过运行以下命令来赋予 app.js 可执行权限:

bash
chmod u+x app.js

运行命令时,确保你位于包含 app.js 文件的同一目录中。

将字符串作为参数传递给 Node 而不是文件路径

要将字符串作为参数执行,可以使用 -e--eval "script"。将以下参数计算为 JavaScript。REPL 中预定义的模块也可以在脚本中使用。在 Windows 上,使用 cmd.exe 单引号将无法正常工作,因为它只识别双引号 " 用于引用。在 PowerShell 或 Git bash 中,"' 都可以使用。

bash
node -e "console.log(123)"

自动重启应用程序

从 Node.js V16 开始,内置了一个选项,可以在文件更改时自动重启应用程序。这对于开发目的非常有用。要使用此功能,需要将 watch 标志传递给 Node.js。

bash
node --watch app.js

因此,当您更改文件时,应用程序将自动重启。阅读 --watch 标志文档