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

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

上一篇 下一篇

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

$ node server.js folder

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

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

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

分割线

网友回答:

为了像常规 javascript 函数一样规范化参数,我在 node.js shell 脚本中执行此操作:

var args = process.argv.slice(2);

请注意,第一个参数通常是 nodejs 的路径,第二个参数是你正在执行的脚本的位置。

分割线

网友回答:

标准方法(无库)

参数存储在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

分割线

网友回答:

最新的正确答案是使用最小雾库。我们曾经使用节点乐观主义者,但后来被弃用了。

以下是直接从最小化文档中获取的如何使用它的示例:

var argv = require('minimist')(process.argv.slice(2));
console.dir(argv);

$ node example/parse.js -a beep -b boop
{ _: [], a: 'beep', b: 'boop' }

$ node example/parse.js -x 3 -y 4 -n5 -abc --beep=boop foo bar baz
{ _: [ 'foo', 'bar', 'baz' ],
  x: 3,
  y: 4,
  n: 5,
  a: true,
  b: true,
  c: true,
  beep: 'boop' }

模板简介:该模板名称为【如何将命令行参数传递给 Node.js 程序?】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【JavaScript】栏目查找您需要的精美模板。

相关搜索
  • 下载密码 lanrenmb
  • 下载次数 207次
  • 使用软件 Sublime/Dreamweaver/HBuilder
  • 文件格式 编程语言
  • 文件大小 暂无信息
  • 上传时间 03-06
  • 作者 网友投稿
  • 肖像权 人物画像及字体仅供参考
栏目分类 更多 >
热门推荐 更多 >
微信公众平台 微信素材 企业网站 自适应 响应式 微信图片 单页式简历模板 微信文章 html5 微信模板
您可能会喜欢的其他模板