私はポリマー2.0とpolymerfireを使用して構築されたPWAを持っており、私のウェブアプリケーションです。私はクラウド機能(マイクロサービス)として動作する明示的なアプリを持っています。 例:上記のアプリregister
に/fns/register
と/fns/verify
を言うマッピングするために書き換えルールを追加する方法exports.register=functions.https.onRequest(app);
特定の要求をクラウド機能にルーティングするためにfirebase-hosting内で書き換えルールを設定するにはどうすればよいですか?
。
クラウド機能のマイクロサービスプロジェクトでfirebase.json
ファイルを更新しましたが、firebase deploy --only functions:register
を実行すると、ホスティング設定を展開するためのパブリックフォルダがありません。
{
"hosting": {
"rewrites": [{
"source": "/fns/**", "function": "register"
}]
}
}
元のWebアプリケーションで書き換えルールを維持することも可能ですが、理想的なIMHOではありません。元のWebアプリケーションでそれをやろうとしたら、それもやってみましたが、できませんでした。私の私の元のWebアプリケーションにfirebase.json
を更新し、次のとおりです。すべてのリソースのひとつのプロジェクト(ホスティング、機能およびデータベース)を維持
{
"database": {
"rules": "database.rules.json"
},
"hosting": {
"public": "build/default/public",
"rewrites": [
{
"source": "/fns/**",
"function": "register"
},
{
"source": "**",
"destination": "/index.html"
}
]
}
}
ありがとうございます@Marcos Vの答えです。しかし、Google IO 2017からの継続的な提案はマイクロサービスのために行くことです。したがって、ただ1つのプロジェクトを持つことは、私が探している素晴らしいソリューションではありません。私は、その敏捷性、スケーラビリティ、およびエラーのローカライゼーションのために、マイクロサービススタイルに着手したいと考えています。あなたの答えを受け入れることができませんでした。 – Phani
@Phaniあなたの質問のタイトルには、別々のプロジェクトの要件はまったく言及されていません。たぶんあなたはこの答えを受け入れることができます(あなたの主要な質問に答えます)。別のプロジェクトで書き換えのルールと機能を維持する方法の別の質問を開きますか? – Motin
1つのプロジェクトにすべてのホスティング、機能、データベースを維持することはマイクロサービスの世界では理想的ではないため、これをソリューション@Motinとして受け入れることはできません。私は、ホスティングファイルが1つのメインプロジェクト(ただし理想的ではない)にしか存在しないことを受け入れることは、むしろOKです。しかし、この機能は他のプロジェクトにも数多く存在することができ、データベースは別のプロジェクトに統合することができます。これはマイクロサービスのアプローチであり、私はこれを既に実行しています。 – Phani