Передать более одной переменной в скрипт package.json
У меня есть в package.json (НЕ BASH, НЕ SH, НЕ ZSHELL, НЕ РЫБА).
Итак, после того, как мы установили тот факт, что это мой файл package.json, позвольте мне представить его вам:
package.json
"scripts": {
"dev": "NODE_ENV=myValue myProgram"
}
Я хочу добавить больше переменных (например, MYVAR=myOtherValue
) к вышеуказанному файлу, который является моим файлом package.json. Как я могу это сделать (добавив больше переменных в мой файл package.json)?
Позвольте мне прояснить, что я не хочу читать man-страницу bash или zshell, или fish, или sh. Вот почему я поставил вопрос здесь и не прочитал справочную страницу - иначе я бы не поставил ее здесь и прочитал бы справочную страницу. Спасибо за понимание.
1 ответ
Ваш сценарий должен быть:
"dev": "NODE_ENV=myValue MYVAR=myOtherValue myProgram"
как вы можете несколько сред, когда разделены пробелом. Это вытекает из общего поведения терминалов, таких как bash, где вы можете установить несколько переменных env на лету:
FOO1=baz FOO2=fnord FOO3=baz env | grep FOO
FOO1=baz
FOO2=fnord
FOO3=baz
Я со Стивеком по этому вопросу, я прочитал ответ (повторяющийся ответ) и разочарован ссылками на bash. Я использую систему Windows, которая использует Powershell. Я хочу передать несколько переменных среды и заставить их работать в системах Windows с помощью Powershell. Любая ссылка на команды *nix и т. Д., Если только не включить межсистемное использование, запутывает воду.
Пока на этот ответ нет ответа. Так что добавлю то, что нашел
В этом вопросе рассказывается, как передать 1 переменную. Как установить переменные среды из package.json
"start": "set NODE_ENV=YOURENV&&node start.js"
Как теперь пройти больше 1? Это все еще вопрос.
Мне сказали, что лучше всего использовать cross-env: cross-env NODE_ENV=production my-command
Ответ был дан здесь: https://github.com/kentcdodds/cross-env/issues/15
"scripts": {
"debug": "cross-env NODE_PATH=. DEBUG=app:* nodemon bootload.js"
}
Однако cross-env не использует PowerShell, но не использует командную оболочку для Windows. Итак, вернемся к основному вопросу. [если вы не внесете это изменение https://github.com/kentcdodds/cross-env/issues/192