序文通常の vue プロジェクトをパッケージ化してアクセスすると、div のみを含む html が返され、その他のコンテンツ ブロックは js によって動的に生成されます。 大きな問題が 2 つあります。
この記事は、私がプロジェクト経験に基づいてまとめた解決策です。不備があれば指摘してください〜 最適化ソ連SSR (サーバーサイドレンダリング) はサーバーサイドレンダリングであり、Vue コンポーネントをサーバー側で組み立てられた HTML 文字列にレンダリングし、それを直接ブラウザに送信します。最後に、これらの静的タグをクライアント上で完全にインタラクティブなアプリケーションにミックスする必要があります。 返されたコンテンツには、最初の画面コンテンツの HTML コード ブロックがすでに含まれていることがわかります。完璧です!~.~ スピーディーポータル: vue-cli4.0+Typescript+SSR をベースにした小さなデモ オンデマンドインポートオンデマンドインポートにはes6モジュールを使用する 1. ルーティングファイルでコンポーネントをオンデマンドでインポートする# ルータ.index.ts 関数createRouter()をエクスポートする{ 新しいルーターを返す({ モード: '履歴'、 ルート: [ { パス: '/'、 名前: 'ホーム'、 コンポーネント: () => import(/* webpackChunkName: "Home" */ './views/Home.vue'), }, { パス: '/about', 名前: 'About'、 コンポーネント: () => import(/* webpackChunkName: "about" */ './views/About.vue'), }, ]、 }); } 2. 静的ライブラリは、すべてのモジュールをインポートするのではなく、必要に応じてインポートします。たとえば、element-ui ライブラリでは、ボタン コンポーネントのみを使用します。 輸入 { ボタン } 'element-ui' から; リクエストの最適化1. CSSとJSの配置順序css ファイルはヘッダーに配置され、js ファイルは body の前に配置されますが、vue がすでに処理してくれています〜 2. フォントアイコンを使用し、アイコンリソースにはスプライト画像を使用するHTTP では接続を確立するために 3 回のハンドシェイクが必要であることはご存じのとおりです。リクエストが多すぎると読み込み速度に影響します。 Tencent の公式 Web サイトの次の図に示すように、ページ上のアイコンなどの不要な静的リソースを削減するように努める必要があります。 完成した画像を直接インポートし、background-positionに応じて画像の位置を設定します。 CDNを使用するアクセス速度を向上させるために静的リソースがCDNにアップロードされます CDNなし:CDN の使用:CDN を使用すると、静的ファイルが GZIP で圧縮され、ダウンロード速度が大幅に向上することがわかります。 エントリチャンクの最適化エントリ チャンク ファイルを分割し、一部の静的ライブラリを分離すると、パッケージ化が高速化され、読み込みが最適化されます。 以下に示すように、vuejs、axios、vuex などの一部の静的ライブラリが分離されています。ブラウザがダウンロードのために複数のダウンロード スレッドを開くことがわかります。これらの静的ライブラリを分離しないと、エントリ チャンクが非常に大きくなり、読み込み速度が低下することが予想されます。 element-ui ライブラリを分離します。開発環境については心配する必要はありません。分離するのは、prod 環境のみです。vue パッケージ構成でライブラリを削除するだけです。 設定ファイル Webpack を構成する: { 外部: process.env.NODE_ENV === 'production' ? { '要素-UI': '要素-UI', } : 未定義、 }, # index.html 静的リソースを手動でインポートします <script src="/js/element-ui/element-ui.2.11.1.js"></script> 以上がVue SPAファーストスクリーン最適化プランの詳細です。Vue SPAファーストスクリーン最適化の詳細については、123WORDPRESS.COMの他の関連記事にご注目ください。 以下もご興味があるかもしれません:
|
<<: Windows 7 の mysql6.x で中国語の文字化けが発生する問題に対する完璧な解決策
>>: nginxプロキシsocket.ioサービスの落とし穴の詳細な説明
OpenShift 3.9 の最新バージョンを体験する最も早い方法。準備 [root@host ~]...
実装方法は3つのステップに分かれています。テンプレートに 2 つのボタンを設定し、v-if と v-...
1つ目はjQueryのajaxを使用してリクエストを送信することです ユーザーが登録するときに、リス...
1. 各関数はオブジェクトであり、メモリを占有します。メモリ内のオブジェクトが増えるほど、パフォーマ...
ページを作成するときに、ページの見栄えを良くするために、背景画像を設定する必要があることがよくありま...
この記事では、Vueでアップロードされた画像に透かしを追加する具体的な実装コードを参考までに共有しま...
この作品はフロントエンド開発(JSコンテンツ)の知識を使用していますが、フロント部分の後半部分の知識...
目次まず結論から質問解決Promiseを使用してコールバック関数をカプセル化する要約するまず結論から...
目次イベントループブラウザ環境イベントループノード環境イベントループ6つのステージ(1)setTim...
導入前の記事で述べたように、NodeJS には 2 種類のスレッドがあります。1 つは、ユーザー リ...
LAN 内のマシンは外部ネットワークにアクセスできますが、外部ネットワークは内部ネットワークにアクセ...
この記事では、参考までに、簡単なログイン機能を実装するためのvue+tp5の具体的なコードを紹介しま...
例: <html> <ヘッド> <スタイル タイプ="tex...
序文単一障害点を解決するには、マスター/スレーブ ホット スタンバイ ソリューションを構成する必要が...
効果プレビュー右側の「クリックしてプレビュー」ボタンを押すと現在のページでプレビューが表示され、リン...