0

Angularアプリを構築するためにangular-cliを使用しました。AzureのblobとAzureの関数でAngular 4アプリをホストするときにブラウザの更新を許可する方法

注意PathLocationStrategyルーティング戦略を使用しています。他の制約のため、私はHashLocationStrategyを使用できません。

すべての静的ファイルをAzure Storage Blobの「フロントエンド」コンテナにアップロードしました。アプリは、私が遭遇した2つの制限を除き、正常に動作している:

  1. ユーザーは、ユーザー・プレスブラウザは404エラーを更新すると
  2. URLを完了するために、入力する必要はなく、ドメイン名だけ(すなわちhttps://someblob.blob.core.windows.net/frontend/index.html)が返されます。

Azure関数のプロキシと次のproxies.jsonファイルを使用して、私は最初の制限を解決しました。私。ユーザーはsome-azure-function.azurewebsites.netを参照してアプリにアクセスできます。しかし、第二のものではありません。

Azure関数のプロキシを使用して2番目の制限を解決する方法はありますか?

proxies.json:

{ 
    "$schema": "http://json.schemastore.org/proxies", 
    "proxies": { 
    "refresh": { 
     "matchCondition": { 
     "route": "/frontend/" 
     }, 
     "backendUri": "https://someblob.blob.core.windows.net/frontend/index.html" 
    }, 
    "allfiles": { 
     "matchCondition": { 
     "route": "/frontend/{*rest}" 
     }, 
     "backendUri": "https://someblob.blob.core.windows.net/frontend/{rest}" 
    }, 
    "root": { 
     "matchCondition": { 
     "route": "/" 
     }, 
     "backendUri": "https://someblob.blob.core.windows.net/frontend/index.html" 
    } 
    } 
} 

答えて

0

あなたがURLの後ろにルート情報を付加した角度コードの問題に実行している、とBLOBストレージは、そのファイルを提供できなくなるようですね。

BLOBストレージへの要求で全体のURLのテキスト、https://myfunctionapp.azurewebsites.net/frontend/index.html/foo/bar' will send a request to blob storage ashttps://someblob.blob.core.windows.net/frontent/index.html/foo/bar `

どちらかhttps://someblob.blob.core.windows.net/frontent/index.htmlのバックエンドウリにご真ん中のプロキシを更新するようなので、要求を追加し、すべてのページがに戻ってリダイレクトしているあなたの中間のプロキシホームページに追加するか、マッチコンディションを変更して余分な情報を解析します。

"route": "https://someblob.blob.core.windows.net/frontend/frontend/{page}/{*rest}"は、私は、このようなJSや資産などのファイルを転送するために中央のプロキシを必要とする{ページ}

+0

にページ名をキャプチャします。 index.htmlにリダイレクトするように変更した場合、ファイルは配信されません。これを絞り込むには、ファイルとパスを区別する方法が必要です。拡張子が存在する場合はファイルを取得し、それ以外の場合はindex.htmlにリダイレクトします。それを行う方法はありますか? – kDar

+0

私の前のコメントを受け取りましたか? – kDar

+0

私はあなたのルートをフォーマットすると信じています。 'https://someblob.blob.core.windows.net/frontend/ {page}。{ext}/{* rest}' –

関連する問題