VueプロジェクトにPWAを導入する手順

VueプロジェクトにPWAを導入する手順

Vue プロジェクトに PWA を導入するのは非常に簡単です。手順は次のとおりです。

1. 依存関係をインストールする

vue に @vue/pwa を追加

add キーワードが使用されているため、インストールが成功するとプロジェクト内にいくつかのファイルが作成されます。プロジェクトで git が使用されている場合は、ファイルの変更を簡単に確認できます。

registerServiceWorker.js ファイルが src フォルダーに生成され、main.js にインポートされます。このファイルは、サービス ワーカーを登録するためのコードを自動的に生成します。 registerServiceWorker.js のコードは次のとおりです。

'register-service-worker' から {register} をインポートします。

process.env.NODE_ENV === 'production'の場合{
  登録(`${process.env.BASE_URL}service-worker.js`、{
    準備ができて () {
      コンソール.log(
        'アプリはサービスワーカーによってキャッシュから提供されています。\n' +
        詳細については、https://goo.gl/AFskqB をご覧ください。
      )
    },
    登録済み () {
      console.log('サービスワーカーが登録されました。')
    },
    キャッシュされた(){
      console.log('コンテンツはオフラインで使用するためにキャッシュされました。')
    },
    アップデートファウンド() {
      console.log('新しいコンテンツをダウンロードしています。')
    },
    更新されました(){
      console.log('新しいコンテンツが利用可能です。更新してください。')
    },
    オフライン(){
      console.log('インターネット接続が見つかりません。アプリはオフラインモードで実行されています。')
    },
    エラー(エラー){
      console.error('サービスワーカー登録中にエラーが発生しました:', error)
    }
  })
}

2. vue.config.js ファイルで pwa を設定します。

モジュール.エクスポート = {
  質問:
    ワークボックスオプション: {
      スキップ待機: true、
      クライアントの主張: true、
      importWorkboxFrom: 'ローカル',
      インポートディレクトリ: 'js',
      ナビゲートフォールバック: '/',
      ナビゲートフォールバックブラックリスト: [/\/api\//]
    }
  }
}

3. プロジェクトのパブリック ディレクトリに manifest.json ファイルを手動で追加します。manifest.json の内容は次のとおりです。

{
  "short_name": "アプリケーションの短縮名", // 将来モバイルデスクトップアプリケーションアイコンの下に表示されます "name": "アプリケーションのフルネーム", // 将来コンピュータデスクトップアプリケーションアイコンの下に表示されます "icon": [
      {
          "src": "./img/icons/android-chrome-192x192.png",
          "サイズ": "192x192",
          "タイプ": "image/png"
      },
      {
          "src": "./img/icons/android-chrome-512x512.png",
          "サイズ": "512x512",
          "タイプ": "image/png"
      }
  ], // デスクトップアイコン、配列、画像のサイズと形式に注意してください "start_url": "index.html", // アプリケーション起動時の URL
  "ディスプレイ": "スタンドアロン",
  "背景色": "#080403",
  "テーマカラー": "#080403"
}

表示フィールドは表示モードを示します。具体的なパラメータと説明は次のとおりです。

表示モード説明する
全画面表示全画面表示では、使用可能なすべての表示領域が使用され、ステータス バー クロムは表示されません。
スタンドアロン別のウィンドウやアプリケーション ランチャー内の独自のアイコンなど、このアプリをスタンドアロン アプリケーションのように見せます。このモードでは、ユーザー エージェントはナビゲーションを制御するために使用される UI 要素を削除しますが、ステータス バーなどの他の UI 要素を含める場合があります。
最小限のUIアプリはスタンドアロン アプリのように見えますが、ブラウザーのアドレス バーがあり、そのスタイルはブラウザーによって異なります。
ブラウザアプリケーションは、ブラウザとプラットフォームに応じて、従来のブラウザ タブまたは新しいウィンドウで開きます。これがデフォルトです。

4. index.html ファイルに次のコードを追加します。

<meta name="テーマカラー" content="#080403">
<link rel="manifest" href="manifest.json" rel="外部 nofollow" > 

次は奇跡を目撃する瞬間です。npm run build を実行して、dist の下の index.html ファイルに manifest.json ファイルが導入されているかどうかを確認し、対応する構成が生成されているかどうかを確認します。そうであれば、おめでとうございます。最初の pwa プロジェクトが完了しました。

以上がVueプロジェクトにPWAを導入する手順の詳細です。VueプロジェクトにPWAを導入する方法の詳細については、123WORDPRESS.COMの他の関連記事もご覧ください。

以下もご興味があるかもしれません:
  • VuePressサイトを構築し、PWAと自動展開を有効にするための非常に詳細なガイド
  • VueにExcelテーブルプラグインを導入する方法
  • Vue で SVG アイコンを導入する 2 つの方法
  • Vue プロジェクトに bootstrap、elementUI、echarts を導入する方法
  • Vue で jQuery を導入して使用する方法
  • Vue-cli4 は、element-ui を構成して、オンデマンド操作を導入します。
  • Vue プロジェクトはクリックイベント操作を追加する echarts を導入しました
  • vue-cli3 が font-awesome 操作を導入
  • Vueページでは3Dアニメーションシーン操作を実現するthree.jsを紹介
  • Vue を使用して maptalks マップを導入し、集約効果を実現する
  • vue-cli3 プロジェクトで画像 img404 を動的にインポートする問題の解決に関する簡単な説明

<<:  Linux ユーザー グループと権限の概要

>>:  Mybatis+mysqlはストアドプロシージャを使用してシリアル番号実装コードを生成します。

推薦する

DockerはホストのMysql操作に接続します

今日、会社のプロジェクトでは docker を設定する必要があります。Windows に正常にインス...

Winows Server 2019 アクティベーション コードとボリューム ライセンス エディション KMS インストール キー GVLK

最近、社内文書の整理とファイルサーバーの構成を予定しています。以前はサーバー2003を使い慣れていま...

モバイル開発におけるHTML5開発の現状を深く理解する

「私たちは次の一連のモバイル製品を HTML5 で作成しています。」 「ええ、最近は多くの人が Ap...

Navicat による MySQL パーティショニングの実践

MySQLのパーティショニングは、非常に大きなテーブルを管理するのに役立ちます。MySQLのパーティ...

JS ベースの Ajax 同時リクエスト制御を実装する方法

目次序文Ajax シリアルおよびパラレルAjaxの同時リクエスト制御のための2つのソリューションPr...

最も完全な 50 の MySQL データベース クエリ演習

このデータベース クエリ ステートメントは、インターネット上の 50 個のデータベース クエリ練習問...

MySQL LOAD_FILE() 関数メソッドの概要

MySQL では、LOAD_FILE() 関数はファイルを読み取り、その内容を文字列として返します。...

Linux システムでの Selenium クローラー プログラムの導入の概要

目次序文1. セレンとは何ですか? 2. 使用手順1. ライブラリをインポートする2. テストコード...

MacでNodeとnpmを完全にアンインストールする方法

npmアンインストール sudo npm アンインストール npm -g この文に遭遇して npm ...

Javascriptでオブザーバーモードを実装する方法を教えます

目次オブザーバーパターンとは何ですか?シナリオシミュレーションコードの実装コードのリファクタリング要...

MySQL テーブル フィールドの時間設定のデフォルト値

アプリケーションシナリオデータ テーブルでは、アプリケーションは各データがいつ作成されたかを記録する...

WeChatミニプログラムでトークンの有効期限を処理する方法

目次まず結論から質問解決Promiseを使用してコールバック関数をカプセル化する要約するまず結論から...

vue3を使用して人間と猫のコミュニケーションアプレットを実装する

目次序文プロジェクトを初期化するデザインコードの実装オンデマンドロードオーディオを再生録音長押しイベ...

LinuxでPythonの組み込みバージョンを削除する手順の詳細な説明

大きな落とし穴、Linuxシステムに付属するPythonのバージョンを簡単に削除しないでください1....

MySQL 20 の高性能アーキテクチャ設計原則 (収集する価値あり)

オープンソース データベース アーキテクチャの設計原則01. 技術の選択最も使い慣れていて、最大限に...