У меня есть приложение для работы с полимерами (одностраничное приложение), размещенное на firebase. Когда я использую новую версию для firebase, я хочу, чтобы firebase перезагрузил исходный код javascript вместо использования кешированных. Можно ли это сделать через firebase.json? Если да, то как? Или мне нужно вручную добавить URL-адрес перебора кэша в мой вывод сборки? БлагодаряFirebase Hosting: скрипты для распаковки кеша при развертывании
2
A
ответ
6
Добавление Webpack или подобный инструмент для вашей сборки, вероятно, самый простой путь, так как это не в настоящее время способ достичь желаемого результата с Firebase непосредственно:
How Can I Make Webpack Use a Cache-Busting Suffix?
Если вы в порядке полного удаления кэша, вы можете просто установить соответствующие заголовки для файлов, которые вы не хотите, кэшированных в firebase.json
:
{
...
"headers": [{
"source": "build.js",
"headers": [{
"key": "Cache-Control",
"value": "max-age=0"
}]
}],
...
}
Смотрите здесь для более подробной информации: https://firebase.google.com/docs/hosting/full-config#headers
, но это приведет к сборке build.js при каждой перезагрузке браузера. Я бы предпочел, если он будет только один раз до следующего развертывания новой версии. – user3240644
@ user3240644 - Это правда. Я не уверен, что это возможно, используя только «firebase.json». Большинство людей в конечном итоге решают это через Webpack: http://stackoverflow.com/questions/39238163/how-can-i-make-webpack-use-a-cache-busting-suffix – TMan
Я бы предложил удалить «firebase.json» '(или, по крайней мере, переместить его ниже части, связанной с кэшем), потому что он вообще не отвечает на вопрос. OP явно упоминает «переполнение кеша». –