Передайте несколько аргументов в команде npm - PullRequest
0 голосов
/ 03 декабря 2018

Я пытаюсь передать аргумент в моей команде npm и использовать этот аргумент в моем сценарии

Пример:

npm run test -b chrome -e QA

"scripts": {
    "test": "something.js ./xyz/abc/cdf --something \"{\\\"browser\\\": \\\"<process.argv[2]>\\\"}\""
}

Я не уверен, как получить доступ в моем скрипте.

Пожалуйста, совет

1 Ответ

0 голосов
/ 03 декабря 2018

В something.js вы можете получить доступ к аргументам процесса с помощью process.argv.

Это будет массив элементов x, где первые два - исполняемый файл, выполняющий ваш скрипт, а второй - путь кскрипт, который запускается.

Попробуйте console.log(process.argv);, чтобы увидеть, что происходит.

В вашем конкретном примере вы должны удалить экранированные символы ", чтобы заставить его работать, например так:

работающий узел в терминале

node somethings.js ./xyz/abc/cdf --something "{\\\"browser\\\": \\\"<process.argv[2]>\\\"}"

Результат:

[ '/usr/local/bin/node', '/Users/user/Documents/test.js', './xyz/abc/cdf', '--something', '{\\"browser\\": \\"<process.argv[2]>\\"}' ]


скрипт package.json

"scripts": { "test": "node test.js" },

Примечание: добавить узел в качестве исполняемого файла в тестовом скрипте

Runningnpm run test -b chrome -e QA

Результат:

[ '/usr/local/bin/node', '/Users/user/Documents/test.js', 'chrome', 'QA' ]

Если вы также хотите получить аргументы -b и -e, добавьте --.Вот так:

npm run test -- -b chrome -e QA

Результат

[ '/usr/local/bin/node', '/Users/user/Documents/test.js', '-b', 'chrome', '-e', 'QA' ]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...