今回は、vue プロジェクトを最適化する手順と、vue プロジェクトを最適化するための 注意事項 について詳しく説明します。実際のケースを見てみましょう。
画像最適化
1. 画像サイズの最適化、一部の画像は WebP を使用します (WebP の互換性を考慮する必要があります)
Zhitu、Youpaiyun などのオンライン生成
gulp 生成、gulp-webpまたは gulp-imageisux
キャンバス生成
2. 画像リクエストを減らし、スプライト グラフィックス
を使用してオンラインで生成します: スプライト ジェネレーター、Tencent の gopng、spriteme
コード生成: gulp.spritesmith または Compass Sass の
ページ パフォーマンスの最適化
画像またはコンポーネントの遅延読み込み
vue-lazyload コンポーネントまたはその他のコンポーネントを使用
vue-lazyload アドレス: https://www.npmjs.com /package/vue-lazyload
画像の遅延読み込み: v-lazy または画像グループを含めるには v-lazy-container を使用します
// 引入一张图片 <img v-lazy="//domain.com/img1.jpg"> // 引入一组图片 <p v-lazy-container="{ selector: 'img', error: 'xxx.jpg', loading: 'xxx.jpg' }"> <img src="//domain.com/img1.jpg"> <img src="//domain.com/img2.jpg"> <img src="//domain.com/img3.jpg"> </p>
コンポーネントの遅延読み込み
Vue.use(VueLazyload, { lazyComponent: true }); <lazy-component> <img class="mini-cover" :src="img.src" width="100%" height="400"> </lazy-component>
画像の事前読み込み
画像を素早く表示します
使用シナリオ:画像を表示するコンポーネントで、次のページの画像を常にめくっている場合、サーバーからデータを取得して画像を表示すると、画像の読み込みが遅くなります。この場合、新しいデータを表示する前に画像をプリロードできます。その後、対応する位置に画像を埋め込みます
スリーパーティプラグインの遅延読み込み(オンデマンド読み込み)
jsファイルは通常同期的に読み込まれ、ページに配置するとメインの読み込みがブロックされますjsファイル。
使用シナリオ: 一部のプロジェクトで jquery などのファイルを導入する必要がある場合、これらのファイルをコンポーネント内に導入すると、ページのレンダリングがある程度ブロックされるため、特定の イベント (クリックまたはポップ) による jquery などの JS ファイルの動的読み込みが行われます。アップウィンドウ)ホームページを作成することができます ページが素早く表示されます。
ページの非同期ロード、コンポーネントの重なりを防ぐ方法
複数の vue コンポーネントがロードされ、コンポーネントがサーバー側データを通じて同時にレンダリングされる場合、複数のコンポーネントは最初に重なり、その後分離されます
3 つの解決策
ページに表示されるセクションが固定されており、コンテンツの高さを変更するのが難しい場合、事前にコンポーネントの外側に固定の高さを設定しておくと、フレーム内にコンテンツを追加するように表示されます。ページの内容が固定されていない場合、非同期読み込み時にコンポーネントが重なる問題を軽減するために、特定のコンポーネントのデータが読み込まれたときに最初の画面に他のコンポーネントが表示され、v-を介して表示されるように設定できます。見せる。
ページ全体が固定されたら、ページにスケルトンを追加して、ページのちらつきを防ぐことができます。具体的な実装については、http://www.jb51.net/article/130505.htm
サーバー側レンダリングのページを参照してください。データが固定され、変更がほとんどない一部のページについては、サーバー側レンダリングを検討できます。これは短時間で完了し、ユーザー エクスペリエンスが向上します。
インポートされた外部ファイルのサイズを削減します
プロジェクトでいくつかの ElementUI コンテンツが導入される場合、一部のコンポーネントを導入できるように、babel-plugin-component を導入して .babelrc ファイルを構成し、それによってファイルのサイズを削減します。コンポーネント。
ルートの遅延読み込み
しかし、vue-router を使用する場合、webpack はすべてのコンポーネントを js ファイルにパッケージ化するため、ファイルが非常に大きくなり、ホームページの読み込みに影響します。他のルートは別のjsファイルにパッケージ化されており、ルート切り替え時に対応するjsファイルが読み込まれます。
resolve => require([URL],solve)、good support
() => system.import(URL)、webpack2公式サイトでは段階的に廃止する旨が記載されており、
( ) は推奨されません => import(URL)、webpack2 公式 Web サイトで推奨されています。これは es7 カテゴリに属し、babel の syntax-dynamic-import プラグインで使用する必要があります
この記事の事例を読んで、さらにエキサイティングな内容については、他の php 中国語 Web サイト関連の記事に注目してください。
推奨読書:
以上がVue プロジェクトを最適化する手順の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。