Хорошо, позволь мне 1-го откликнуться. Я по ошибке добавил срок годности 365 дней в свой index.html
файл. Теперь я внес изменения в файл JS, который изменил имя импорта в моем index.html
и теперь он пытается импортировать не тот файл. Ой.
Итак, я думаю, давайте изменим имя файла по умолчанию на другое имя, которое не кэшируется.
В моем проекте Angular я изменил все настройки здания, поэтому теперь мой index.html
файл назван main.html
. Даже сам файл называется main.html
, и проверяя мою папку dist, нет index.html
только main.html
.
Я разместил сайт на Google App Engine, и эту команду я использовал для развертывания после сборки.
gcloud app deploy app.yaml --quiet --project=<project-name>
Вот мой app.yaml
api_version: 1
env: standard
runtime: python27
service: <service-name>
threadsafe: yes
automatic_scaling:
min_idle_instances: 1
handlers:
- url: /(.*\.(css|eot|gz|ico|js|map|png|jpg|jpeg|svg|ttf|woff|woff2|pdf|gif))
static_files: dist/browser/\1
upload: dist/browser/(.*\.(css|eot|gz|ico|js|map|png|jpg|jpeg|svg|ttf|woff|woff2|pdf|gif))
expiration: "365d"
- url: /.*
static_files: dist/browser/main.html
upload: dist/browser/main.html
secure: always
expiration: "0s"
skip_files:
## bunch of files
Похоже, Google все еще обслуживает index.html
, хотя, честно говоря, я не совсем уверен, как это проверить. Как сказать, чтобы обслужить main.html
как файл по умолчанию?
Отредактированный ответ:
Проблема с тем, что вы не можете переименовать index.html в App Engine, связана с кешированными файлами и неправильным файлом app.yaml.
У вас есть несколько вариантов:
1- Используйте новое имя файла
2- Используйте заголовок Etag
3- Добавить параметр строки запроса в запрос на получение на сервер. (Сделайте запрос к /main.html?timestamp=currenttimestamp, параметр нужно изменить, иначе он тоже будет кэширован)
Если вы хотите, чтобы dist / browser / main.html всегда был одним файлом, тогда файл app.yaml должен быть:
api_version: 1
env: standard
runtime: python27
service: <service-name>
threadsafe: yes
automatic_scaling:
min_idle_instances: 1
handlers:
- url: /dist/browser/main.html
static_files: dist/browser/main.html
upload: dist/browser/main.html
secure: always
expiration: "0s"
- url: /(.*\.(css|eot|gz|html|ico|js|map|png|jpg|jpeg|svg|ttf|woff|woff2|pdf|gif))
static_files: dist/browser/\1
upload: dist/browser/(.*\.(css|eot|gz|html|ico|js|map|png|jpg|jpeg|svg|ttf|woff|woff2|pdf|gif))
expiration: "365d"
skip_files:
## bunch of files