2017-01-01 3 views
0

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

Когда я развертываю свое приложение в 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> 

ответ

3

Вы должны также настроить application_readable: true в дополнение к статическому декларации файла в файле app.yaml.

От Handlers element:

application_readable

Дополнительно. Boolean. По умолчанию файлы, объявленные в обработчиках статических файлов , загружаются как статические данные и предназначены только для конечных пользователей. Они не могут быть прочитаны приложением. Если для этого поля установлено значение true, файлы также загружаются как данные кода, поэтому ваше приложение может читать . Обе загрузки загружаются с вашего кода и статических данных хранения resource quotas.

Смежные вопросы