Nuxt 3 は、Nuxt をサポートする独自の素晴らしい PWA プラグインを備えた Vite を利用しています。
より良いソリューションが登場したため、このモジュールは今後メンテナンスされなくなります。
代わりに、Vite PWA Assets Generator を備えた Nuxt 3 用 Vite PWA の使用を検討してください。
メインメンテナー (@kevinmarrec) として、このプロジェクトを信頼してくれたすべての貢献者とユーザーに感謝したいと思います。
Nuxt 3 向けのゼロ構成 PWA ソリューション
このモジュールは非公式ですが、公式の Nuxt PWA モジュールの次のバージョンとなることを目指しています。
@kevinmarrec/nuxt-pwa
依存関係をプロジェクトに追加します。
# Using Yarn
yarn add -D @kevinmarrec/nuxt-pwa
# Using NPM
npm install -D @kevinmarrec/nuxt-pwa
# Using PNPM
pnpm install -D @kevinmarrec/nuxt-pwa
nuxt.config.ts
ファイルを編集して PWA モジュールを追加します。
export default defineNuxtConfig ( {
modules : [
'@kevinmarrec/nuxt-pwa'
]
} )
このモジュールは移行を容易にするために Nuxt 2 PWA に準拠しようとしているため、ほとんどの機能については引き続き https://pwa.nuxtjs.org ドキュメントを使用できます。
アプリを開発環境でインストールできるようにしたい場合は、 nuxt.config
でpwa.workbox.enabled
オプションをtrue
に設定する必要があります。これは、デフォルトでは実稼働環境でのみ有効になっているためです。
export default defineNuxtConfig ( {
modules : [
'@kevinmarrec/nuxt-pwa'
] ,
pwa : {
workbox : {
enabled : true
}
}
} )
カスタムのワークボックス サービス ワーカーが必要な場合は、 pwa.workbox.templatePath
オプションを使用してワーカーへのパスを指定できます。 ~
や@
などのパス エイリアスを使用できます。
export default defineNuxtConfig ( {
modules : [
'@kevinmarrec/nuxt-pwa'
] ,
pwa : {
workbox : {
templatePath : '~/path/to/your/worker.js'
}
}
} )
カスタマイズするには、このモジュールのデフォルトをここで確認することができます。また、Nuxt 2 のデフォルトと Workbox のドキュメントも確認できます。
usePWAIcon
を使用して PWA のアイコン URL を取得し、それをアプリで使用できます。
const icon = usePWAIcon ( 512 ) // /assets/icons/512x512.png
const icon = usePWAIcon ( 512 , { maskable : true } ) // /assets/icons/512x512.maskable.png
あるいは、 number
サイズ パラメータの代わりにstring
を使用して、Typescript で利用可能なサイズを利用することもできます。
依存関係を必ずインストールしてください。
pnpm install
http://localhost:3000 で開発サーバーを起動します。
pnpm dev
http://localhost:3000 で例をビルドして開始します。
pnpm example:build
pnpm example:start
❤️で作りました
MIT ライセンスに基づいて公開されています。