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

推薦する

レスポンシブ Web デザイン手法を実装し、ウォーターフォール モデルに別れを告げる 5 つのステップ (グラフィック チュートリアル)

次の Web デザイン プロジェクトはレスポンシブにする必要があると上司をようやく納得させることがで...

MySQL SQL ステートメントが遅い場合の一般的な原因と解決策

1. インデックス不足または無効なインデックスによるクエリの遅延数千万件のデータを含むテーブルで、イ...

SQL 実践演習: オンライン モール データベースの製品カテゴリ データ操作

オンラインショッピングモールデータベース - 商品カテゴリデータ操作(I)プロジェクトの説明電子商取...

Linux にソフトウェアをインストールするときにソフトウェア パッケージが存在しない問題を解決する方法

ソフトウェア パッケージが存在しない場合は、インストールされているソフトウェアのソフトウェア ソース...

CSSオーバーフローメカニズムについての簡単な説明

CSS オーバーフローのメカニズムを詳細に学ぶ必要があるのはなぜですか?実際の開発プロセスでは、コン...

MySQL のユーザー権限を照会する方法の概要

MySQLユーザー権限を表示する2つの方法を紹介します1. MySQL grantsコマンドを使用す...

Linux または Android でファイル システムを追加する属性インターフェイスを解析する方法

最初のもの: 1. 主要なヘッダーファイルを追加します。 #include <linux/of...

Vue シングルページ SEO の 4 つのソリューションについての簡単な説明

目次1.Nuxtサーバーサイドレンダリングアプリケーションの展開(SSRサーバーレンダリング)利点:...

Linux の総合システム監視ツール dstat の詳細な例

オールラウンドなシステム監視ツール dstat dstat は、vmstat、iostat、nets...

MySQL 5.7 インストール不要の設定グラフィックチュートリアル

Mysql は人気があり、使いやすいデータベース ソフトウェアです。以下は、mysql の無料インス...

Vuex でゲッターとアクションを使用するための追加手順

予備的注釈1.Vue2.xとVue3.xの違い: Vue 3.x にはヘルパー関数はありません。 V...

MySQL が重複データを挿入するのを防ぐ 3 つの方法

新しいテーブルを作成する テーブル「人」を作成します( `id` int NOT NULL COMM...

JavaScript は自由に移動するウィンドウのマウス制御を実装します

この記事では、フリーウィンドウのマウス制御を実現するためのJavaScriptの具体的なコードを参考...

CSS3 フィルターを使用して PNG 画像の色を変更するサンプル コード

この方法は、CSS3のdrop-shadow filterを使用して、png画像の不透明部分に任意の...

VS2019をMySQLデータベースに接続するプロセスと一般的な問題の概要

今日の午後からVS2019をMySQLで使えるのではないかと思い、いろいろ環境構築を始めました。プロ...