一尘不染

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

node.js

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

$ node server.js folder

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

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

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


阅读 250

收藏
2020-07-07

共1个答案

一尘不染

标准方法(无库)

参数存储在 process.argv

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

process.argv是一个包含命令行参数的数组。第一个元素是’node’,第二个元素是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
2020-07-07