ユニアプリとミニプログラム(画像とテキスト)を下請けする方法を教えます

ユニアプリとミニプログラム(画像とテキスト)を下請けする方法を教えます

1. ミニプログラム下請け

サブパッケージを使用する各アプレットには、メイン パッケージが含まれている必要があります。いわゆるメイン パッケージには、デフォルトのスタートアップ ページ/タブ バー ページと、すべてのサブ パッケージに必要ないくつかの共通リソース/JS スクリプトが配置されます。サブ パッケージは、開発者の構成に応じて分割されます。

ミニプログラムを起動すると、デフォルトでメインパッケージがダウンロードされ、メインパッケージ内のページが起動されます。ユーザーがサブパッケージ内のページに入ると、クライアントは対応するサブパッケージをダウンロードし、ダウンロードが完了したらそれを表示します。

現在、ミニプログラム サブパッケージのサイズには次の制限があります。

  • ミニプログラム全体のすべてのサブパッケージのサイズは20Mを超えません
  • 1つのサブパッケージ/メインパッケージのサイズは2Mを超えることはできません。

ミニプログラムをサブパッケージ化すると、ミニプログラムを初めて起動したときのダウンロード時間を最適化でき、複数のチームが共同で開発しているときにコラボレーションをより適切に分離できます。

わかりやすいサブパッケージの公式チュートリアルを見るにはここをクリックしてください

2. Uniapp 下請けアプレット

アプリのデフォルトはパッケージ全体です。ミニプログラムのサブパッケージ構成に対応しています。その目的はダウンロードを高速化することではなく、ホームページが vue の場合の起動を高速化することです。

これはアプレットをサブパッケージ化した後のディレクトリ構造です

  • コンポーネント: パブリック コンポーネント (メイン パッケージによる参照用)
  • Page_の後にピンインが続くのはサブパッケージです
  • サブパッケージ内のコンポーネントは、単一のサブパッケージのコンポーネント ディレクトリです。サブパッケージ Vue ページの参照は、そのサブパッケージの page_zhaoshang ディレクトリ内でのみ参照できます。
  • Pagesはメインパッケージで、スタートアップページ/タブバーページが含まれています。
  • Static には、画像などのパブリックな静的リソースが含まれます。

下請けの手順:

1. manifest.json を設定する

"mp-weixin": {

"最適化":{"サブパッケージ":true}

}

下請けを最適化:

サブパッケージの最適化を有効にするには、対応するプラットフォーム構成 (manifest.json) に"optimization":{"subPackages":true}を追加します。

現在、 mp-weixinmp-qqmp-baiduのサブパケット最適化のみをサポートしています。

  • 静的ファイル: サブパッケージは、staticなどの静的リソースのコピーをサポートしています。つまり、サブパッケージディレクトリに配置された静的リソースはメインパッケージにパッケージ化されず、メインパッケージで使用することもできません。
  • js ファイル: js ファイルが 1 つのサブパッケージのみによって参照されている場合、そのファイルはサブパッケージにパッケージ化されます。それ以外の場合は、メイン パッケージに含まれます (つまり、メイン パッケージによって参照されているか、複数のサブパッケージによって参照されています)。
  • カスタムコンポーネント: カスタムコンポーネントが1つのサブパッケージによってのみ参照され、サブパッケージに配置されていない場合、コンパイル時にプロンプ​​トメッセージが出力されます。

2. pages.jsonを設定する

pages.json に新しい配列「subPackages」を作成します。配列には 2 つのパラメータが含まれます: 1.root: サブパッケージのルート ディレクトリ、2.pages: サブパッケージがどのページで構成されているか。パラメータは pages と同じです。

注: メイン パッケージとサブ パッケージを同じディレクトリに配置することはできません。uniapp プロジェクトをビルドするときに、後でサブ パッケージを容易に作成できるようにディレクトリ構造を検討できます。

3. サブパッケージのプリロード設定(preloadRule)

この手順は主に速度の最適化を目的としています。速度を最適化したくない場合は、この設定をスキップできます。

preloadRule を設定すると、ミニプログラムの特定のページに入るときに、フレームワークは必要なサブパッケージを自動的に事前ダウンロードし、後続のサブパッケージ ページに入るときの起動速度が向上します。

preloadRuleでは、 keyはページ パス、 valueこのページに入るための事前ダウンロード構成であり、各構成には次の項目があります。

フィールドタイプ必須デフォルト値例示する
パッケージ文字列配列はいなしページにアクセスした後、ルートまたはサブパッケージの名前を事前にダウンロードします。 __APP__ はメインパッケージを示します。
ネットワークいいえWi-Fi指定したネットワークで事前ダウンロードします。オプションの値: all (無制限のネットワーク)、wifi (wifi でのみ事前ダウンロード)

アプリのサブパッケージ化も preloadRule をサポートしますが、ネットワーク ルールは無効です。

例:

最後に、クリックしてuniappの公式ドキュメントに入り、設定項目を確認します。

ユニアプリとミニプログラムの下請けについて段階的に説明するこの記事はこれで終わりです(画像とテキスト付き)。ユニアプリとミニプログラムの下請けに関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • uniapp WeChatミニプログラムのグローバル共有を実装するためのサンプルコード
  • WeChat アプレット uniapp は左スワイプによる削除効果を実現します (完全なコード)
  • ユニアプリミニプログラム開発でグローバルフローティングボタンを実装する方法

<<:  CentOSはexpectを使用してスクリプトやコマンドをバッチでリモート実行します

>>:  MySQLデータのバックアップとリカバリの実装方法の分析

推薦する

Tomcat 実行時の JVM エンコーディングの問題を修正

質問:最近、プロジェクトを展開すると文字化けしたデータが出てきました。確認したところ、プロジェクトは...

Centos8 (最小インストール) Python3.8+pip のインストール方法に関するチュートリアル

Python8のインストールを最小化した後、Python3.8.1をインストールしました。オンライン...

MySQLにログインする際のエラー「ERROR 1045 (28000)」を解決する方法

今日はサーバーにログインして、データベース内のいくつかのものを変更する準備をしました。しかし、パスワ...

CentOS8 - bash: 文字化けとその解決方法

この状況は通常、中国語言語パックがインストールされていないか、デフォルトの言語設定に問題があるために...

JS でタブ効果を書く

この記事の例では、タブ効果を記述するためのJSの具体的なコードを参考までに共有しています。具体的な内...

Web デザインにおける Less と More について語る (写真)

Less is More は多くのデザイナーのキャッチフレーズです。これは建築界の巨匠ルートヴィヒ...

知らないかもしれない奇妙で興味深いDockerコマンド

はじめに使えるかもしれないが、あまり使われていない、シンプルで実用的なDockerコマンドをいくつか...

MySQL テーブル内の重複データを検索して削除する方法の概要

時々、データベース テーブルに重複したデータが大量に保存されます。これらの重複データはリソースを浪費...

insert と select を組み合わせて、「データベース内のフィールドの最大値 + 1 を挿入する」メソッドを実装する

この記事はmysqlデータベースです質問 1 表 1 のデータを表 2 にインポートします。表 1 ...

Vueはズームイン、ズームアウト、ドラッグ機能を実装しています

この記事では、参考までに、ズームインとズームアウトのドラッグ機能を実現するためのVueの具体的なコー...

Docker可視化ツールPortainerの導入と中国語翻訳

#docker 検索#docker プルポーター1. イメージを取得した後、中国語パッケージをダウン...

ウェブデザインとは何か

<br />元の記事: http://www.alistapart.com/articl...

Python スクリプトを Ubuntu で直接実行する方法

翻訳プログラムを例に挙げてみます。前回はWindowsでのアプリケーションのパッケージ化についてお話...

MySQL slow_log テーブルを InnoDB エンジンに変更することはできません。詳細な説明

背景mysql.slow_log からスロー クエリ ログを取得するのは遅く、テーブルは csv テ...

既存のMySQLデータベースの文字セットを統一する方法

序文データベースでは、一部のデータ テーブルとデータは latin1 であり、一部のデータ テーブル...