У меня есть package.json со следующим (упрощенным) контентом в ключе скриптов:
...
scripts: {
"start": "NODE_ENV=${NODE_ENV:=production} node start-app.js",
"poststart": "echo $NODE_ENV"
}
...
В командной строке я могу запустить:
npm start
Это запустит мой start-app.js script и установите переменную среды process.env.NODE_ENV в "production". См. здесь для объяснения синтаксиса.
Poststart автоматически запускается после запуска, как описано здесь.
Однако poststart не будет "наследовать" переменную среды оболочки NODE_ENV, поэтому команда echo не будет отгонять ничего.
Мой код обработки немного сложнее, но я пытаюсь выполнить передачу переменной NODE_ENV с "начальной точки" на зависимые скрипты. Любые предложения/рекомендации по тому, как это сделать?
Я не хочу жестко кодировать NODE_ENV в poststart, потому что я могу захотеть сделать:
NODE_ENV=development npm start
и я хочу, чтобы все "вниз по цепочке" наследовали одну и ту же среду.