ReactでPWAを作成する方法


  1. Create React Appをインストールします。ターミナルで以下のコマンドを実行します。
npx create-react-app my-app
  1. 作成したReactアプリのディレクトリに移動します。
cd my-app
  1. PWAの設定を追加するために、srcディレクトリにservice-worker.jsファイルを作成します。
// service-worker.js
self.addEventListener('install', (event) => {
  event.waitUntil(
    caches.open('my-app-cache').then((cache) => {
      return cache.addAll([
        '/',
        '/index.html',
        '/manifest.json',
        // 他のキャッシュするファイルを追加
      ]);
    })
  );
});
self.addEventListener('fetch', (event) => {
  event.respondWith(
    caches.match(event.request).then((response) => {
      return response || fetch(event.request);
    })
  );
});
  1. srcディレクトリにindex.jsファイルを開き、以下のコードを追加します。
// index.js
if ('serviceWorker' in navigator) {
  window.addEventListener('load', () => {
    navigator.serviceWorker.register('/service-worker.js')
      .then((registration) => {
        console.log('ServiceWorker registered: ', registration);
      })
      .catch((error) => {
        console.log('ServiceWorker registration failed: ', error);
      });
  });
}

これで、ReactアプリにPWAのサポートが追加されました。アプリをビルドし、デプロイすれば、オフラインでも動作するPWAが完成します。

この記事では、ReactでPWAを作成する方法と、キャッシュの設定やサービスワーカーの使用などのコード例を提供しました。これにより、ユーザーはオフライン状態でもアプリを使用できるようになり、より快適なユーザーエクスペリエンスを提供できます。