Как развернуть сборку React Production с GCP? - PullRequest
0 голосов
/ 18 февраля 2020

Я пытаюсь развернуть свой проект React в Production, и кажется, что Google App Engine строит разработку, а не папку Production Build. Возможно, мне не хватает чего-то очень простого ...

Сначала я запускаю "npm run build", затем запускаю "npm run deploy" или "gcloud app deploy app.yaml --project [имя_проекта] "

Структура папки: Here is my folder structure вот мой файл app.yaml

runtime: nodejs
env: flex

env_variables:
    APP_ENV: "production"

handlers:
  - url: /
    static_files: build/index.html
    upload: build/index.html
  - url: /
    static_dir: build
  - url: /static
    static_dir: build/static

automatic_scaling:
    min_num_instances: 2
    max_num_instances: 4
    cool_down_period_sec: 180
    cpu_utilization:
       target_utilization: 0.50

resources:
    cpu: 1
    memory_gb: 3.5 
    disk_size_gb: 10

Вот мой пакет. json:

 "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "deploy": "gcloud app deploy app.yaml --project ....",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },

Когда завершается развертывание sh, я по-прежнему предупреждаю о разработке, а при скорости страницы - файлы js не минимизируются / не оптимизируются. Чего мне не хватает?

1 Ответ

0 голосов
/ 18 февраля 2020

Когда команда gcloud app deploy выполняется, она запускает команду npm start, чтобы запустить приложение. Это указано в Документах .

В вашем случае команда npm start выполняет "react-scripts start", который запускает сервер разработки.

Для обслуживания приложения в производственной среде ваша команда start должна запуститься веб-сервер, который обслуживает файлы stati c вашего приложения реагирования. Для этого вы можете сделать следующее:

npm install -s serve

Затем изменить стартовый скрипт в вашем package.json с:

"start": "react-scripts start"

На:

"start": "serve -s build -l 8080"

А затем развернуть нормально

...