序文通常の 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サービスの落とし穴の詳細な説明
目次条件付きコンパイルページレイアウト要約する条件付きコンパイル条件付きコンパイルでは、特別なコメン...
最近、会社で DELL R730 サーバーを購入したのですが、偶然次のチュートリアルを見つけたので、...
要件:PC側とモバイル側は2つの独立したプロジェクトです。2つのプロジェクトの内容は基本的に同じで、...
数日前、CSS で 3 列レイアウトを書いていたときに、突然この方法を思いつきました。このアイデアは...
今日は、MySQL データベースと SQL 標準 (および他のデータベース) の UPDATE ステ...
このコレクションには、あなたのデザインアイデアにインスピレーションを与える、輝いて光沢のある、優れた...
この記事では、ソーシャル ウェブサイトのホームページを比較分析することで洞察を得て、ソーシャル ウェ...
FORM 要素の enctype 属性は、フォーム データがサーバーに送信されるときに使用されるエン...
序文私が作成中の Markodwn エディターに同期スクロール機能を追加する必要があります。Baid...
MySQL の行から列への操作いわゆる行から列への操作は、テーブルの行情報を列情報に変換することです...
この記事では、MySQL の ROUND 関数を使用した丸め操作の落とし穴を例を使って説明します。ご...
2 つのテーブルを関連付けるときに、外部キーを作成できませんでした。このブログから、問題は、ポイント...
原因このブログを書いた理由は、今日Leetcodeの日課問題をやっていたからです。文字列を整数(at...
序文MySQL の権限テーブルは、データベースの起動時にメモリにロードされます。ユーザーが ID 認...
私たちのベテランの先人たちは、数え切れないほどのコードを書き、数え切れないほどの落とし穴に陥ってきま...