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はストアドプロシージャを使用してシリアル番号実装コードを生成します。

推薦する

Vue は PC カメラを呼び出してリアルタイムで写真を撮る機能を実装します

VueはPCカメラを呼び出してリアルタイムで写真を撮影します。参考までに、具体的な内容は次のとおりで...

Linux 上の MYSQL 5.7 でルート パスワードを取得する際の問題 (テスト済み、利用可能)

目次1. --skip-grant-tables 経由で取得する1.1 my.conf を変更し、新...

XHTMLタグは適切に使用する必要があります

<br />123WORDPRESS.COM の以前のチュートリアルでは、Web ページ...

macOS SierraにApache2.4+PHP7.0+MySQL5.7.16をインストールする

Mac システムには PHP と Apache が付属していますが、必要なバージョンではない場合があ...

Vue3 での Teleport の使用に関する詳細な説明

目次テレポートの目的テレポートの仕組みこの記事では、以下の内容を取り上げます。テレポートの目的テレポ...

MySQL 8.0 の新機能 - チェック制約の紹介

目次序文チェック制約作成、削除、表示制限要約する序文MySQL 8.0 では、チェック制約という非常...

MySQL無料インストール版のパスワード設定に関する詳細なチュートリアル

方法1: SET PASSWORDコマンドを使用する MySQL -u ルート mysql> ...

Linux yum パッケージ管理方法

導入yum (Yellow dog Updater, Modified) は、Fedora、RedH...

JavaScriptで継承を実装するいくつかの方法

目次構造継承(callで実装)プロトタイプチェーン継承(プロトタイプチェーンの助けを借りて実装)複合...

CentOS7で新しいデータディスクをマウントするための完全な手順

序文新しい VPS を購入しました。新しい VPS のデータ ディスクはデフォルトではシステムにマウ...

はじめに: HTML の基本的なタグと属性の簡単な紹介

HTML はタグと属性で構成されており、これらを組み合わせてブラウザにページの表示方法を指示します。...

CSS属性のデフォルト値width: autoとwidth: 100%の違いの詳細な説明

幅: 自動子要素(コンテンツ+パディング+境界線+余白を含む)は、親要素のコンテンツ領域全体を埋めま...

Ubuntu 20.04 LTS で Java 開発環境を構成する

Java開発キットjdkをダウンロードするJDK のダウンロード アドレスはhttp://www.o...

Vue の高度な構築プロパティの詳細な説明

目次1. ディレクティブカスタムディレクティブ2. ミックスイン3. 継承を拡張する4. 提供して注...

MySQLは「order by」がどのように機能するかを簡単に理解します

並べ替えの場合、order by は非常に頻繁に使用するキーワードです。インデックスに関するこれまで...