#javascript #node.js #function #console #arguments
#javascript #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"
в свой терминал, а не в свой код, когда я запускаю скрипт. Что-то вроде этого:
$node test.js MyListID
Вместо
$node test.js
Но я не знаю, как это сделать.
Я думаю, что это возможно с process.argv
помощью или minimist
, но я не понимаю, как они работают. Может кто-нибудь объяснить мне это или есть какая-либо другая возможность?
Комментарии:
1. Вы можете поискать модуль npm «yargs», он должен соответствовать вашему варианту использования
2. Я пытался, но я использую узел версии 8.9.4, и он доступен только на узле версии 10
3. @SamyRharade Что мешает вам обновиться?
4. Это для моей работы, и они используют эту версию, они не хотят ее менять…
Ответ №1:
Из документации Node-JS v8.x:
Процесс.свойство argv возвращает массив, содержащий аргументы командной строки, переданные при Node.js процесс был запущен. Первым элементом будет process.execPath . Смотрите process.argv0, если требуется доступ к исходному значению argv[0] . Вторым элементом будет путь к исполняемому файлу JavaScript. Остальные элементы будут любыми дополнительными аргументами командной строки.
Итак, в вашем случае вы можете просто сделать:
getArrayEmailMembersFromMailchimpListID(process.argv[2])
Конечно, вы должны добавить некоторую обработку ошибок для этого, чтобы сделать его более надежным.