Как настроить стандартную среду для Google App Engine nodejs8 для React? - PullRequest
0 голосов
/ 06 сентября 2018

Я разработал простое приложение, используя React и Node.js 8 для Google App Engine. Он отлично работает в гибкой среде, но если я пытаюсь развернуть его в стандартной среде, я получаю 500 ошибок «GET / HTTP / 1.1». Я не могу найти больше информации о том, что идет дальше, чем это.

Как я могу настроить его так, чтобы он работал в стандартной среде?

app.standard.yaml

runtime: nodejs8

handlers:
  - url: /
    script: src/index.js
  - url: /src
    script: index.js

package.json

{
  "name": "eventpub",
  "version": "0.1.0",
  "private": true,
  "engines": {
    "node": "8.x.x"
  },
  "dependencies": {
    "node-pre-gyp": "^0.11.0",
    "npm": "^5.6.0",
    "react": "^16.4.2",
    "react-collapsible": "^2.3.1",
    "react-dom": "^16.4.2",
    "react-json-viewer": "^1.7.1",
    "react-scripts": "1.1.5"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  }
}

структура папок проекта

node_modules
public
- public/index.html
- public/manifest.json
src
- src/App.css
- src/App.js
- src/App.test.js
- src/index.css
- src/index.js
- src/registerServiceWorker.js
.gcloudignore
.gitignore
app.flexible.yaml
app.standard.yaml
package.json
package-lock.json
README.md

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018

Я решил проблему, сначала собрав приложение реагирования (npm run build), развернув уже созданную версию в облаке Google и добавив обработчики для встроенного приложения в app.yaml.

handlers:
- url: /
  static_files: build/index.html
  upload: build/index.html
- url: /
  static_dir: build
0 голосов
/ 07 сентября 2018

Мне кажется, что проблема, с которой вы столкнулись, связана с тем, что App Engine Standard для Nodejs все еще находится в бета-версии, как упоминалось в https://cloud.google.com/appengine/docs/standard/nodejs/runtime#dependencies

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