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

推薦する

IdeaでTomcatを起動したときに複数のリスナーが報告される問題を解決する

エラーのスクリーンショット例外が発生した場所が見つかりません。解決策: リソースディレクトリにlog...

vscode dockerプラグインのdocker.socket権限問題を解決する

解決策: システム内のすべての .vscode 関連プロセスを終了します (または、remote-s...

moment.jsの時間と日付の処理の詳細な説明

月曜日から日曜日の時間形式の変換(Y --- 年 M --- 月 D--- 日) : : : : :...

MySQL で複数のフィールドを連結する詳細な例

MySQL クエリ結果の行フィールドの結合は、次の 2 つの関数を使用して実装できます。 1. co...

MySQL スライディング集計/年初来集計の原理と使用例の分析

この記事では、例を使用して、MySQL スライディング集計/年初来集計の原理と使用方法を説明します。...

CSS における重要なカスケード概念の詳細な説明

最近、プロジェクトの過程で問題に遭遇しました。メニューバーを常に上部に表示し、後続の要素をその下に表...

MySQL でテーブルを削除する 3 つの方法 (要約)

ドロップテーブルドロップはテーブル情報を直接削除するため、最も高速ですが、データを取得することはでき...

MySQL 5.7.18 無料インストール版ウィンドウ設定方法

初めてのブログです。データベースの勉強を始めた頃のことを書いています。自分でダウンロードしたのですが...

Linuxファイルコマンドの使用

1. コマンドの紹介ファイル コマンドは、ファイルの種類を識別するために使用されます。ファイル チェ...

同じページを動的にロードするための Vue ルーティングリスニングの例

目次シナリオ分析発達要約するシナリオ分析システムでは、1 つのモジュールに 3 つのサブモジュールが...

Docker を使用して MySQL および Redis サービスをデプロイする方法

目次Dockerを使用してMySQLサービスをデプロイする方法DockerでRedisサービスをデプ...

CSSの優先度を理解する2つの方法

方法1: 値を追加する公式の説明を見るには MDN にアクセスしてください。優先度はどのように計算さ...

html ページ!--[IE の場合]...![endif]--使用方法の詳細な紹介

コードをコピーコードは次のとおりです。 <!--[IEの場合]><script t...

HTMLノードの追加と削除の簡単な例

HTML ノードの追加と削除の簡単な例 HTML ノードの追加と削除の簡単な例<input t...