Разверните приложение create-реакции в Google App Engine - PullRequest
0 голосов
/ 22 февраля 2019

Я пытаюсь развернуть свое приложение, созданное с помощью create-реакции-app в Google App Engine.

Мое приложение хорошо работает на локальном компьютере (как npm start, так и npm run build & serve -s build).).Однако развернутое приложение в Google App Engine показывает только index.html и не вызывает мой реагирующий код.

Консоль разработчика Chrome показывает Uncaught SyntaxError: Unexpected token <.

Также я обнаружил, чтона console.cloud.google.com, чтобы в развернутом приложении не было папки сборки.Это правильно?

Кто-нибудь может решить эту проблему?

Вот мой package.json:

{
  "name": "XXXXX",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "react": "^16.8.2",
    "react-dom": "^16.8.2",
    "react-ga": "^2.5.7",
    "react-router-dom": "^4.3.1",
    "react-scripts": "2.1.5"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
 },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": [
    ">0.2%",
    "not dead",
    "not ie <= 11",
    "not op_mini all"
  ]
}

Кроме того, вот мой app.yaml.

runtime: nodejs10

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

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

В результате многократного поиска в Интернете я обнаружил, что причиной стала система маршрутизации моего приложения реагирования.

Поскольку в этом посте говорится, мы должны быть осторожны савторинг app.yaml.Если мы сначала напишем следующий элемент, GAE вернет build/index.html для всех запросов, включая доступ к /static/js и /static/css.

- url: /
  static_files: build/index.html
  upload: build/index.html

create-react-app, создаст папку сборки и статические подпапки для npm run build.Таким образом, мне пришлось написать свой app.yaml более конкретно так:

handlers:
  - url: /static/js/(.*)
    static_files: build/static/js/\1
    upload: build/static/js/(.*)
  - url: /static/css/(.*)
    static_files: build/static/css/\1
    upload: build/static/css/(.*)
  - url: /static/media/(.*)
    static_files: build/static/media/\1
    upload: build/static/media/(.*)
  - url: /(.*\.(json|ico))$
    static_files: build/\1
    upload: build/.*\.(json|ico)$
  - url: /
    static_files: build/index.html
    upload: build/index.html
  - url: /.*
    static_files: build/index.html
    upload: build/index.html
0 голосов
/ 22 февраля 2019

Можете ли вы проверить этот документ - https://medium.com/tech-tajawal/deploying-react-app-to-google-app-engine-a6ea0d5af132

Это поможет вам.Я развернул свое приложение, используя те же шаги.

образец файла yaml

    runtime: python27
    api_version: 1
    threadsafe: true
    handlers:
    - url: /
      static_files: build/index.html
      upload: build/index.html
    - url: /
      static_dir: build

Ссылочная ссылка - https://medium.com/google-cloud/how-to-deploy-a-static-react-site-to-google-cloud-platform-55ff0bd0f509

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...