Мы развернули Vue SPA в Google App Engine, и он полностью обслуживается статическими обработчиками.
Проблема, с которой мы сталкиваемся, заключается в том, что если пользователь активен на нашем сайте в середине развертывания, тоих старый манифест чека Webpack становится недействительным (поскольку хэши некоторых чанков перезаписываются). Если они теперь пытаются перенаправить на новую страницу, и эта страница пытается извлечь перезаписанный кусок, мы получаем следующую ошибку:
ChunkLoadError: Loading chunk Conversations failed.
(error: https://example.com/js/Conversations.71762189.js)
В идеале мы хотели бы сохранить N
(2-3?) Предыдущие версии статических файлов приложения.
Является ли наш единственный способ отправить все ресурсы в облачное хранилище данных ? Если это так, как бы мы пошли на сокращение старых версий?
Вот мой app.yaml
для справки:
runtime: nodejs10
instance_class: F4
automatic_scaling:
min_instances: 2
max_instances: 10
default_expiration: "30d"
error_handlers:
- file: default_error.html
handlers:
- url: /api/*
secure: always
redirect_http_response_code: 301
script: auto
- url: /js/*
secure: always
redirect_http_response_code: 301
static_dir: dist/js
- url: /css/*
secure: always
redirect_http_response_code: 301
static_dir: dist/css
- url: /img/*
secure: always
redirect_http_response_code: 301
static_dir: dist/img
- url: /(.*\.(json|js|txt))$
secure: always
redirect_http_response_code: 301
static_files: dist/\1
upload: dist/.*\.(json|js|txt)$
expiration: "10m"
- url: /.*
secure: always
redirect_http_response_code: 301
static_files: dist/index.html
upload: dist/index.html
expiration: "2m"