How do I pass command line arguments to a Node.js program?

В некоторых случаях это - возможное использование @import "file.css", и самые современные браузеры должны поддерживать, это, более старые браузеры, такие как NN4, немного сойдет с ума.

Примечание: оператор импорта должен предшествовать всем другим объявлениям в файле и протестировать его на всех Ваших целевых браузерах перед использованием его в производстве.

2274
задан Grokify 13 June 2018 в 18:03
поделиться

2 ответа

Парсинг аргумента на основе стандарта ввел (--key=value)

const argv = (() => {
    const arguments = {};
    process.argv.slice(2).map( (element) => {
        const matches = element.match( '--([a-zA-Z0-9]+)=(.*)');
        if ( matches ){
            arguments[matches[1]] = matches[2]
                .replace(/^['"]/, '').replace(/['"]$/, '');
        }
    });
    return arguments;
})();

пример Команды

node app.js --name=stackoverflow --id=10 some-another-argument --text="Hello World"

Результат argv: console.log(argv)

{
    name: "stackoverflow",
    id: "10",
    text: "Hello World"
}
-1
ответ дан 22 November 2019 в 19:55
поделиться

ES6-разработайте решение без зависимостей:

const longArgs = arg => {
    const [ key, value ] = arg.split('=');
    return { [key.slice(2)]: value || true }
};

const flags = arg => [...arg.slice(1)].reduce((flagObj, f) => ({ ...flagObj, [f]: true }), {});


const args = () =>
    process.argv
        .slice(2)
        .reduce((args, arg) => ({
            ...args,
            ...((arg.startsWith('--') && longArgs(arg)) || (arg[0] === '-' && flags(arg)))
        }), {});
console.log(args());
0
ответ дан 22 November 2019 в 19:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: