web-dev-qa-db-ja.com

サイトをインストールできません:一致するサービスワーカーが検出されません

ちょっと私は私の最初のPWAをプログラムしようとしており、次の問題が発生しました:

webアプリを起動すると、次のエラーが表示されます。

サイトをインストールできません:一致するサービスワーカーが検出されません。ページをリロードするか、現在のページのサービスワーカーがマニフェストから開始URLも制御することを確認する必要がある場合があります。

このため、マニフェストのURLが正しいと思います link

manifest.json

"start_url": ".",
"display": "standalone",
"orientation": "portrait",
"theme_color": "#29BDBB",
"background_color": "#29BDBB"

そして、私はこのように私のswを登録します:

if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('./sw.js').then(function(reg) {
    console.log('Successfully registered service worker', reg);
}).catch(function(err) {
    console.warn('Error whilst registering service worker', err);
});
}

Swを here から取得しました

だから私は firebase でホストできるシンプルなウェブアプリを作ろうとしている。

どうしたの?ご協力いただきありがとうございます

18

Service WorkerスクリプトファイルをWebサイトのルートに配置し、start_urlから/、または必要な場所に配置して、scopeプロパティとService-Worker-Allowedmy other answer のようなHTTPヘッダー。

14
Ashraf Sabry

反応アプリサービスワーカーの作成は、運用環境でのみ有効になるため、ビルドしてローカルで提供し、サービスワーカーが正常に動作していることをテストします。

まだない場合は、最初にserve npmをインストールします:npm i serve -g

その後...

npm run build

serve -s build

また、サービスワーカーが正常に登録すると、beforeinstallpromptのようなものが呼び出されない場合もあります。その場合は、https経由でサイトにサービスを提供するfirebaseなどのホストを使用してアプリを公開し、そこでbeforeinstallpromptを試してください。

2
andimiya