一尘不染

如何将命令行参数传递给 Node.js 程序?

javascript

我有一个用Node.js编写的 Web 服务器,我想用一个特定的文件夹启动。我不确定如何在 JavaScript 中访问参数。我正在运行这样的节点:

$ node server.js folder

server.js是我的服务器代码。Node.js 帮助说这是可能的:

$ node -h
Usage: node [options] script.js [arguments]

我如何在 JavaScript 中访问这些参数?不知何故,我无法在网上找到这些信息。


阅读 172

收藏
2022-01-27

共1个答案

一尘不染

标准方法(无库)

参数存储在process.argv

以下是处理命令行参数的节点文档:

process.argv是一个包含命令行参数的数组。第一个元素是“节点”,第二个元素是 JavaScript 文件的名称。下一个元素将是任何附加的命令行参数。

// print process.argv
process.argv.forEach(function (val, index, array) {
  console.log(index + ': ' + val);
});

这将产生:

$ node process-2.js one two=three four
0: node
1: /Users/mjr/work/node/process-2.js
2: one
3: two=three
4: four
2022-01-27