Вместо того, чтобы обновлять одну и ту же переменную в разных местах, я анализирую файлы и извлекаю нужные мне биты. Один бит, который я ищу, — это имя кэша в моем файле service-worker.js. Когда я занимаюсь локальной разработкой, я могу легко получить файл js в структуре каталогов.
Когда я развертываю свое приложение в GAE, JS-файл сервисного работника должен быть объявлен статическим, поэтому GAE где-то скрывает его.
Есть ли способ попасть в этот файл без URL-вызова?
Это то, что я сейчас использую, и все это прекрасно работает в DEV:
<?php
function getCacheId() {
$cache_id = "";
$c = file_get_contents ( dirname ( __FILE__ ) . "/service-worker.js" );
if (preg_match ( "/CACHE_NAME = '(.*)'/", $c, $matches ) !== false) {
if (count ( $matches )) {
$cache_id = trim ( $matches[1] );
}
}
return $cache_id;
}
?>
<script>
const CACHEID = "<?php echo getCacheId() ?>";
</script>
Вам также необходимо настроить application_readable: true
в дополнение к объявлению статического файла в вашем app.yaml
файл.
application_readable
Необязательный. Boolean. По умолчанию файлы объявлены в статических обработчиках файлов
загружаются как статические данные и предоставляются только конечным пользователям. Oни
не может быть прочитано приложением. Если для этого поля установлено значение true,
файлы также загружаются в виде данных кода, чтобы ваше приложение могло читать
их. Обе загрузки оплачиваются по вашему коду и статическим данным.
место хранения квоты на ресурсы.
Других решений пока нет …