Реагировать на сборку с файлом env из командной строки

Есть ли способ создать сборку приложения React из такой команды, как? Пока что в сценарии оболочки есть:

npm install;
npm run-script build:test;

где build:test является

bash -ac '. .env.test; react-scripts build'

но это будет относиться к build:test сценарий из package.json но когда я хочу использовать определенные .env файл в сценарии оболочки (без редактирования и добавления чего-либо в package.json) следующим образом

npm run .env.my_box react-scripts build;

это не будет выполнять сборку для .env.my_box

Что я установил неправильно?

2 ответа

Вы можете сделать что-то вроде этого:

на package.json

"scripts": {
    "server": "cd server && npm start",
    "client": "cd client && npm start",
    "server-dep": "cd server && npm install",
    "client-dep": "cd client && npm install",
    "install-dep": "npm install && concurrently \"npm run server-dep\" \"npm run client-dep\"",
    "dev": "concurrently \"npm run server\" \"npm run client\"",
    "test": "echo \"Error: no test specified\" && exit 1"
  },

затем npm run start, например, это монорепозиторий, поэтому мы запускаем сервер и интерфейс с помощью одной команды

Вам стоит попробовать эту библиотеку https://github.com/toddbluhm/env-cmd

Обновите свой package.json

   "scripts": {
   "start": "react-scripts start",
   "build": "react-scripts build",
   "test": "react-scripts test",
   "eject": "react-scripts eject",
   "build:stage": "env-cmd -f ./.env.stage npm run-script build" 
}

тогда npm run build:stage

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