2017-01-01 12 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

あなたはまた、あなたのapp.yamlファイル内の静的ファイルの宣言に加えて、application_readable: trueを設定する必要があります。 Handlers elementから

application_readable

オプション。ブール値。デフォルトでは、静的ファイルハンドラ で宣言されたファイルは静的データとしてアップロードされ、エンドユーザーにのみ提供されます。それらは をアプリケーションで読み取ることはできません。このフィールドがtrueに設定されている場合、 ファイルもコードデータとしてアップロードされるので、アプリケーションは を読み取ることができます。どちらのアップロードもコードと静的データに対して課金されます resource quotas