Next PWA
Установка
npm i next-pwa
Настройки
const withPWA = require('next-pwa')({ dest: 'public', register: true, skipWaiting: true, disable: process.env.NODE_ENV === "development",})
module.exports = withPWA({ // next.js config});
Настройки ES
/** @type {import('next').NextConfig} */
import withPWA from 'next-pwa'
const nextConfig = withPWA({ dest: 'public', register: true, skipWaiting: true, disable: process.env.NODE_ENV === 'development',})
export default nextConfig({})
Manifest Generator
Manifest JSON
{ "name": "Fubon PWA", "short_name": "Fubon PWA", "description": "A PWA boilerplate with Next Js TypeScript", "icons": [ { "src": "/icon-192x192.png", "sizes": "192x192", "type": "image/png" }, { "src": "/icon-256x256.png", "sizes": "256x256", "type": "image/png" }, { "src": "/icon-384x384.png", "sizes": "384x384", "type": "image/png" }, { "src": "/icon-512x512.png", "sizes": "512x512", "type": "image/png" } ], "theme_color": "#FFFFFF", "background_color": "#FFFFFF", "scope": "/", "start_url": "/", "display": "standalone", "orientation": "portrait"}
export const metadata = { manifest: '/manifest.json',}
Auto Generated PWA files
**/public/sw.js**/public/workbox-*.js**/public/worker-*.js**/public/sw.js.map**/public/workbox-*.js.map**/public/worker-*.js.map