Как передать r-значение переменной среды в качестве аргумента CLI для скрипта NPM

Цель: Есть ли способ или хак, который позволяет мне добавить r-значение переменной среды в качестве аргумента CLI для сценария NPM без вызова отдельного скрипта?

Пример:

  • Скрипт: "test:run": cypress run --spec 'tests/*' --env host=
  • Использование: npm run test:run localhost
  • Ожидание: cypress run --spec 'tests/*' --env host=localhost

То, что я использую в настоящее время, это:

  • Скрипт: "test:run": cypress run --spec 'tests/*' --env
  • Использование: npm run test:run host=localhost
  • Результат: cypress run --spec 'tests/*' --env host=localhost

Это работает, но мне интересно, есть ли способ вообще не добавлять host= в мою команду, чтобы я мог просто написать значение r, localhost для краткости.

Получение данных из формы с помощью JavaScript - краткое руководство
Получение данных из формы с помощью JavaScript - краткое руководство
Получить данные из формы с помощью JS очень просто: вы запрашиваете элемент формы, передаете его конструктору new FormData() и, наконец, получаете...
Пользовательские правила валидации в Laravel
Пользовательские правила валидации в Laravel
Если вы хотите создать свое собственное правило валидации, Laravel предоставляет возможность сделать это. Создайте правило с помощью следующей...
3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
0
0
25
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я не думаю, что то, чего вы хотите достичь, в настоящее время возможно так, как вы этого хотите, из-за того, как npm разбивает аргументы командной строки. Все переданное добавляется как отдельная «опция», а не просто добавляется к существующей строке, что вы сейчас и видите (npm run test:run localhost => cypress run --spec 'tests/*' --env host= localhost).

Есть несколько альтернатив, которые, кажется, вам не нужны, но вы можете создать отдельный скрипт для такого поведения.

"test:run": "cypress run --spec 'tests/*' --env"
"test:run:local": "npm run test:run host=localhost"

Или вы можете объявить переменную окружения Cypress перед тестовой командой.

CYPRESS_HOST=localhost npm run test:run

Спасибо, что подтвердили, что сейчас это невозможно, и предложили несколько альтернатив.

Hid 07.04.2022 06:05

Другие вопросы по теме