Я пытаюсь развернуть SPA в GAE. Я следую примеру конфигурации, указанному в их статическом примере веб-сайта . Моя папка проекта имеет следующую структуру:
D:\Projects\Proj1
|-node_modules
|-src
|-www
|-.babelrc
|-.gitignore
|-app.yaml
|-package.json
|-package-lock.json
и мой app.yaml выглядит следующим образом:
runtime: php55
service: frontend
api_version: 1
threadsafe: true
handlers:
- url: /
static_files: www/index.html
upload: www/index.html
- url: /(.*)
static_files: www/\1
upload: www/(.*)
Проект выводится в папку www
. gcloud
используется для развертывания с помощью команды gcloud app deploy app.yaml --quiet --version %DOC_VERSION% --project %GCP_PROJECT_ID%
из командного файла.
Я ожидал, что gcloud
скопирует и развернет файлы, которые были только в папке www
, но вместо этого он начал копировать файлы aprox 10K, которые также были в папке node_modules
(я прекратил процесс).
Итак, я изменил app.yaml
и теперь это выглядит так:
runtime: php55
service: frontend
api_version: 1
threadsafe: true
skip_files:
- ^node_modules$
- ^src$
- ^assets$
- ^\.
handlers:
- url: /
static_files: www/index.html
upload: www/index.html
- url: /(.*)
static_files: www/\1
upload: www/(.*)
И работает как положено.
Насколько я понимаю, параметр static_files
использовался инструментом gcloud
для загрузки соответствующих файлов. Итак, почему он загружал файлы из не упомянутой папки? Упоминание skip_files
- единственный способ правильно решить эту проблему?