{
  "$type": "site.standard.document",
  "canonicalUrl": "https://blog.nove-b.dev//posts/make-react-router-v7-app-pwa",
  "path": "/posts/make-react-router-v7-app-pwa",
  "publishedAt": "2025-03-09T00:00:00.000Z",
  "site": "at://did:plc:2atly2y5kfyjcj5zap6pv4wd/site.standard.publication/3mmxeqr2tcb2k",
  "tags": [
    "React Router v7",
    "PWA",
    "vite-plugin-pwa"
  ],
  "textContent": "⚠️追記:vite-plugin-pwaはとReact Router v7で正常に機能しません\n\n...\n\nReact Router v7でウェブアプリを作成した。\n\nKindle Unlimitedの検索が使いにくいので、好きな作家の対象本を一覧表示するサービスを作った\n\nこれを少しずつ改良しているんだけど、サイトに訪問するのが面倒なのでPWAにすることにした。\n\n環境\n\nPWAにしたアプリの環境は下記の通り。\n\nPWAにする\n\nvite-plugin-pwaをインストールする。\n\nvite.config.tsのpluginsにvite-plugin-pwaを追加する。\n\n上記の記述でビルド時にmanifest.webmanifestが生成されるのでそれをapp/root.tsxで読み込む。\n\nで、必要となる下記を作成する。\n\nテストする\n\nPWAは開発環境でテストできないので、npm run buildでビルドしたデータを起動して確認する。で、無事にインストールできることを確認した。\n\nPWAのすべては享受できていないけど、インストールするのが目的なので達成した。\n\nvite-plugin-pwaはとReact Router v7で正常に機能しません\n\n今回pwa化する過程で\n\nをroot.tsxに追加している。\n\nvite-plugin-pwaが正常に機能していればそこも自動でやってくれる。\n\nオフラインのキャッシュも動いていないし、ただmanifest.webmanifestを自動で作ってくれるという機能しか使えてない。\n\n実際にissueもあった。\n\nFeature Request: Vite PWA Support for React Router 7",
  "title": "React Router v7で作成したウェブアプリをPWA(インストールに対応のみ)にする"
}