如何使用node js在终端中编写函数的参数

我正在使用此代码连接到 mailchimp API,获取成员列表并将他们所有的电子邮件地址放入一个数组中:


var mailchimpMarketing = require("@mailchimp/mailchimp_marketing");


mailchimpMarketing.setConfig({

  apiKey: "MY API KEY",

  server: "MY SERVER",

});



async function getArrayEmailMembersFromMailchimpListID(listID){

  const response = await mailchimpMarketing.lists.getListMembersInfo(listID);

  const emailsMailchimp = response.members.map(member => member.email_address);

  console.log(emailsMailchimp)

  return emailsMailchimp;

}

getArrayEmailMembersFromMailchimpListID("MY LIST ID")

我的问题是我想"MY LIST ID"在我的终端而不是在我启动脚本时在我的代码中写入列表 ID。像这样的东西:


$node test.js MyListID

代替


$node test.js

但我不知道该怎么做。


process.argv我认为or是可能的,minimist但我不明白它们是如何工作的。有人可以向我解释一下还是他们还有其他可能性?


12345678_0001
浏览 70回答 1
1回答

喵喔喔

来自 Node-JS v8.x文档:process.argv 属性返回一个数组,其中包含启动 Node.js 进程时传递的命令行参数。第一个元素是 process.execPath。如果需要访问 argv[0] 的原始值,请参阅 process.argv0。第二个元素将是正在执行的 JavaScript 文件的路径。其余元素将是任何其他命令行参数。所以在你的情况下你可以简单地做:getArrayEmailMembersFromMailchimpListID(process.argv[2])当然你应该为此添加一些错误处理以使其更健壮。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript