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

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

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

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

PWA(Progressive Web Apps)

PWA(Progressive Web Apps)は、アプリのようなWebサイトを指します。仕様が異なる様々なデバイスで表示でき、インストールも不要。さらに訪問し続けることでユーザーについて学び、強力なPWAとなります。

Next.js

Next.jsは、Reactを用いたサーバサイドレンダリングなどを行う軽量なフレームワークです。Zeit社が開発しており、nextコマンドでプロジェクトを作成することにより、開発環境整備が整った環境が即時に作成できます。

Q&A

0回答

1074閲覧

next-pwaとfirebase hostingの連携

syoutarouim

総合スコア4

Firebase

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

PWA(Progressive Web Apps)

PWA(Progressive Web Apps)は、アプリのようなWebサイトを指します。仕様が異なる様々なデバイスで表示でき、インストールも不要。さらに訪問し続けることでユーザーについて学び、強力なPWAとなります。

Next.js

Next.jsは、Reactを用いたサーバサイドレンダリングなどを行う軽量なフレームワークです。Zeit社が開発しており、nextコマンドでプロジェクトを作成することにより、開発環境整備が整った環境が即時に作成できます。

0グッド

0クリップ

投稿2021/05/22 02:59

編集2021/05/22 03:46

next-pwaとfirebase hosting,functionを使ってデプロイを試したのですがエラーは出ないのですが
ホーム画面に追加してそれを開くと下記の画面になります
どうやったらこの画面ではなく実装した画面が開けますか?
一応urlを普通に開いたら動作はします
ホーム画面に追加して開いた時のみこうなります
下記にコード貼っておくので見て欲しいです

イメージ説明

firebaseFunctuon.js

const { join } = require('path') const { https } = require('firebase-functions') const { default: next } = require('next') const { parse } = require('url') const express = require('express') const compression = require('compression') const createServer = (app) => { const server = express() const handle = app.getRequestHandler() // Middlewares server.use(compression()) // Serve static files server.use(express.static('public')) server.use(express.static('.next')) server.get('/sw.js', (req, res) => { return app.serveStatic(req, res, join(__dirname, '.next', 'sw.js')) }) server.get('/workbox-*.js', (req, res) => { const { pathname } = parse(req.path, true) return app.serveStatic(req, res, join(__dirname, '.next', pathname)) }) server.get('/manifest.json', (req, res) => { return app.serveStatic(req, res, join(__dirname, 'public', 'manifest.json')) }) server.all(/.(js|json|png|jpg|ico)$/i, (req, res) => { return handle(req, res) }) server.all('*', (req, res) => { return handle(req, res) }) return server } const app = next({ dev: false, conf: { distDir: '.next', }, }) const server = createServer(app) exports.nextjsFunc = https.onRequest(server)

next.config

const withPWA = require('next-pwa') const webpack = require('webpack') const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer') const { ANALYSE, CONFIG_ENV } = process.env const nextConfig = { // Options for next-pwa (see https://github.com/shadowwalker/next-pwa#configuration) pwa: { register: true, dest: '.next', sw: 'sw.js', }, // buildId, dev, isServer, defaultLoaders, webpack webpack: (config, { dev }) => { if (ANALYSE) { // https://www.npmjs.com/package/webpack-bundle-analyzer config.plugins.push(new BundleAnalyzerPlugin()) } config.plugins.push( // Define global constants which are configured at compile time // https://webpack.js.org/plugins/define-plugin/ new webpack.DefinePlugin({ __CONFIG__: JSON.stringify(CONFIG_ENV), }), ) return config }, } module.exports = withPWA(nextConfig)

firebase.json

{ "hosting": { "public": ".next", "ignore": ["firebase.json", "**/.*", "**/node_modules/**"], "rewrites": [ { "source": "**", "function": "nextjsFunc" } ] }, "functions": { "source": ".", "predeploy": [ "npm --prefix \"$PROJECT_DIR\" install", "npm --prefix \"$PROJECT_DIR\" run build" ], "runtime": "nodejs10" } }

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問