質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

Q&A

1回答

535閲覧

Firebase HostingとNuxt.jsでsitemap-moduleを使うことが出来ない

soo

総合スコア80

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

0グッド

0クリップ

投稿2018/11/26 05:08

編集2018/11/30 02:18

Firebase Hostingを利用してNuxt.jsで作られたサイトをホスティングしています。

sitemapを生成したくこちらを導入しました。
https://github.com/nuxt-community/sitemap-module

localではうまく動いているのですが、Firebase Hostingにdeployするとうまく動きません。

原因として考えられるのは
こちらを参考にrewritesの設定をしていることです。

https://ja.nuxtjs.org/guide/routing#firebase-%E3%83%9B%E3%82%B9%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E5%90%91%E3%81%91%E3%81%AE%E5%AE%9F%E8%A3%85

実際の設定は下記のようにしています。

{ "hosting": { "public": "genia/dist", "ignore": [ "firebase.json", "**/.*", "**/node_modules/**" ], "rewrites": [ { "source": "**", "destination": "/index.html" } ] } }

おそらくsitemap.xmlの実ファイルが無いため"/index.html"移動してしまうのですが、これを回避する方法はありますでしょうか?

そもそもsitemap-moduleはどのようにsitemap.xmlを生成しているのか、どのようなルーティングになっているのかよくわかっていません。

実際にFirebase Hostingでsitemapが実際に動作している例があればご掲示してほしいです。

よろしくおねがいします。

追記
nuxt build --spaを利用しSPAサイトとしてbuildしています。
sitemapの内容はapiコールして動的に変更しています。(静的なsitemapではありません)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nnnn5

2020/10/05 22:25

初めまして、同じところで詰まっています、どう解決されましたでしょうか..?
guest

回答1

0

sitemap.xmlは静的リソースのファイルを参照すれば良いと思うので、
rewriteに↓を登録すると良さそうに思います。

勘違いしていました。
今回のケースで言うと おそらくfirebase hostingのみの利用かと思うので、
nuxtのgenerate利用という認識で説明を修正します。

  1. nuxt.config.jsの sitemap.generate の指定を trueに変更する
  2. nuxt generate // dist先にファイルが書き出される
  3. firebase deploy
// from https://www.npmjs.com/package/@nuxtjs/sitemap sitemap: { generate: true // ここを追加 もしくは修正する

気になって動作確認用リポを作ったので、
デモが必要そうでしたら参照してみてください。
https://github.com/wilf312/nuxt-firebase-hosting

投稿2018/11/27 17:49

編集2018/11/29 15:37
wilf

総合スコア300

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

soo

2018/11/30 02:15

ご丁寧にありがとうございます! 質問に書いていなかったので大変申し訳ないですが、SPAサイトとしてbuildしておりgenerateは使用していません。またsitemap自体も静的な内容ではなくAPIコールして動的に変更しています。
soo

2018/11/30 02:18

質問に追記しました。よろしくおねがいします!
wilf

2018/12/02 02:09

ざっと sitemap-module のソースを読みましたが、 Node環境での実行を前提に実装されているので、SPAモードで動くようにはできていないかと思います。 sitemapを generate以外で生成するには、 そこだけバックエンドで動的に生成するように cloud functions に rewriteを逃して処理する必要があります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問