Определение статического каталога в app.yaml вызывает сбой приложения

У меня странный вопрос по GAE standard (Бег node), точнее с моим app.yaml ниже.

runtime: nodejs8

# Environment variables
env_variables:
  GOOGLE_CLOUD_PROJECT: '...'

# Static directories and files
handlers:
- url: /static
  static_dir: public

Без handlers отчасти все работает как прелесть: мое приложение развернуто и работает. Обратите внимание, что size 4,8 МБ (версия 1-0-43).

Однако с handlers часть, мое приложение больше не работает: 4xx ошибка и приложение size 324 КБ (версия 1-0-43).

Единственная цель handlers часть состоит в том, чтобы определить directory обслуживать статические активы (CSS, JS, изображения...).

Любая подсказка? Благодарю.

2 ответа

Когда вы добавляете static_dir определение обработчика всего содержимого вашего public Подкаталог больше не (по умолчанию) загружается вместе с кодом вашего приложения (скорее всего, это объясняет разницу в размерах приложения). Вместо этого он загружается в другое место, чтобы обслуживаться непосредственно инфраструктурой GAE, см. Как обслуживать статические файлы в AppEngine Standard и nodejs

Похоже, что вашему приложению могут понадобиться некоторые из этих файлов. В таком случае самым простым решением было бы добавить application_readable отметьте статическое определение, в результате чего этот каталог будет загружен как в статическом расположении контента, так и вместе с кодом вашего приложения, см. GAE: file_get_contents() и статические файлы.

Для ускорения развертываний можно также попытаться разделить статический контент на 2: одна часть, не нужная для кода вашего приложения, развернутая без application_readable (таким образом, не загружается вместе с кодом вашего приложения, разворачивается быстрее) и один с флагом. Если это не так уж много проблем.

Не могли бы вы попробовать изменить static_dir с "public" на "static". Потому что url и static_dir обычно расположены в одном месте. Пожалуйста, попробуйте и дайте мне знать. Ура!

    # Static directories and files
      handlers:
      - url: /static
        static_dir: static
Другие вопросы по тегам