ホームページ ウェブフロントエンド jsチュートリアル Webpack でホット リフレッシュとホット ロードを正しく使用する方法

Webpack でホット リフレッシュとホット ロードを正しく使用する方法

May 25, 2018 pm 02:51 PM
web webpack リフレッシュする

今回は、webpack でホット リフレッシュとホット ロードを正しく使用する方法を説明します。webpack でホット リフレッシュとホット ロードを使用する際の 注意事項 について、実際のケースを見てみましょう。

スキャフォールディングからのホットリフレッシュとホットロードの違いを発見してください

ほとんどの Vue 開発者は vue-cli から始めると思いますが、vue-cli の設定を自由に変更することはできません。 webpack は確かに非常に複雑であり、vue-cli も初心者向けのエクスペリエンスを最適化するために多くの作業を行っています)。

対照的に、react は比較的堅牢な足場を提供しません (少なくとも私には明らかに見つかりません。教えていただければ幸いです)。私の知る限り、その 1 つは yeoman のgenerator-react-webpack、reactのcreate-react-app、そして優れたreact-starter-kit (ホットロードで、多くのコードが統合されており、よく参照されています) です。
React を学習していたとき、上記の最初の 2 つの React スキャフォールドがホット ロードではなくホット リフレッシュを提供することを発見しました。

ホットロードとホットリフレッシュの簡単な区別:

ホットリフレッシュ: ファイルが内部的に変更された後、状態(コンテンツが入力された入力フォームなど)を保持せずにページ全体が更新されます。 Webpack が F5 を押すのと同等です。 リフレッシュ
ホットロード: ファイルが変更された後、最小限のコストで変更された領域が変更されます。ファイルを変更する前の状態を保持するようにしてください (入力内容を入力した後、他のタグのコードを修正します)

どちらも従来の開発 (手動 F5) と比較して開発エクスペリエンスが向上していますが、両者の間にはまだ違いがあります非常に大きく、特にプロジェクトがより複雑になるにつれて、この問題をきっぱりと解決する必要があります (バグの開発により多くの時間を残しておきます)。

実践的な変更

ゼロからの設定は別の領域なので、vue-cli から直接変更を加え始めます。

以下の手順は、インスピレーションを参照するためのキーのみをリストしたものです。詳細については、最終的な github の完全なプロジェクトを参照してください

  1. vue 関連の依存関係やファイルなどを削除できます

  2. パッケージ。 json 依存関係を babel-loader webpack-dev-server 反応ホットローダーに追加します (最も重要)

  3. package.json コマンド ライン設定 "dev": "webpack-dev-server --inline -- progress --config build /webpack.dev.conf.js"

  4. webpack.base.conf .jsx ファイルの追加は babel-loader で処理する必要があり、オプションを設定します: {plugins:['react-hot-loader/ babel']}

  5. .babelrc プリセットが React に追加され、プラグインが以下に追加されます: ['react-hot-loader/babel']

  6. src フォルダーに main.js を作成します (名前は(webpack によって設定された

    エントリー ファイル と一致します)

  7. import 'core-js/fn/object/assign';
    import React from 'react';
    import ReactDOM from 'react-dom';
    import { hot } from 'react-hot-loader';
    import App from './pages/App'; // 自己写吧
    import './assets/css/reset.scss';
    // Render the main component into the dom
    ReactDOM.render(<App/>, document.getElementById('app'));
    export default hot(module)(App); // 热加载的关键
    ログイン後にコピー
この時点で、私たちは喜んで React を使用してホットロードの喜びを体験することができます~

問題

は、実際には main.js を単純に変更することですvue-cli 内のファイルをリアクション関連コードに編集し (jsx を処理できるように babel を設定することを忘れないでください)、引き続きホット リフレッシュを行います。

ローカル コードを観察して比較した後、魅力的な名前を見つけました:

webpack.dev.conf ファイル内:

new webpack.HotModuleReplacementPlugin()
ログイン後にコピー
オンラインで検索した後

、これがホット ロードを実現するための鍵であることが分かりました。コード自体には モジュール性 の性質があるため (つまり、3 つの主要なフレームワークのような再利用可能なコンポーネントを作成できるフレームワークはこの特性を利用できます)、コードの接続と接続解除によってホット ローディングを実現できます。

React の JSX 特殊効果は HotModuleReplacementPlugin では処理できず、ホット リフレッシュのみ可能です。

この場合、react-hot-loader が登場しようとしています。公式の使用方法に従って、ホットリロードを引き続き使用できます。

追記: 参考までに、私も多くの反応コードを調べて学習しています

この記事の事例を読んだ後は、この方法を習得したと思います。さらにエキサイティングな情報については、 の他の関連記事に注目してください。 PHPの中国語サイトです!

推奨読書:

webpack でパッケージ化された大きなファイルを扱う方法

vue.js に npm をインストールする方法

以上がWebpack でホット リフレッシュとホット ロードを正しく使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

iPhone で Web ページを更新する 6 つの方法 iPhone で Web ページを更新する 6 つの方法 Feb 05, 2024 pm 02:00 PM

iPhone で Web を閲覧すると、ブラウザ アプリが開いている限り、読み込まれたコンテンツが一時的に保存されます。ただし、Web サイトはコンテンツを定期的に更新するため、古いデータを消去して最新の公開コンテンツを確認するには、ページを更新することが効果的な方法です。こうすることで、常に最新の情報と経験を得ることができます。 iPhone でページを更新したい場合は、次の投稿ですべての方法を説明します。 SafariでWebページを更新する方法【4つの方法】 iPhoneのSafariアプリで閲覧中のページを更新する方法はいくつかあります。方法 1: [更新] ボタンを使用する Safari で開いているページを更新する最も簡単な方法は、ブラウザのタブ バーにある [更新] オプションを使用することです。サファなら

Windows 11 で F5 更新キーが機能しない Windows 11 で F5 更新キーが機能しない Mar 14, 2024 pm 01:01 PM

Windows 11/10 PC では F5 キーが正しく機能しませんか? F5 キーは通常、デスクトップまたはエクスプローラーを更新したり、Web ページをリロードしたりするために使用されます。ただし、読者の中には、F5 キーがコンピュータを更新していて、正しく動作しないと報告している人もいます。 Windows 11 で F5 更新を有効にする方法は? Windows PC を更新するには、F5 キーを押すだけです。一部のラップトップまたはデスクトップでは、更新操作を完了するために Fn+F5 キーの組み合わせを押す必要がある場合があります。 F5 キーを押して更新しても機能しないのはなぜですか? F5 キーを押してもコンピューターを更新できない場合、または Windows 11/10 で問題が発生している場合は、ファンクション キーがロックされていることが原因である可能性があります。その他の考えられる原因には、キーボードまたは F5 キーが含まれます

VUE3 入門チュートリアル: Webpack を使用したパッケージ化とビルド VUE3 入門チュートリアル: Webpack を使用したパッケージ化とビルド Jun 15, 2023 pm 06:17 PM

Vue は、インタラクティブで効率的な Web アプリケーションを迅速に構築するのに役立つ優れた JavaScript フレームワークです。 Vue3 は、多くの新機能が導入された Vue の最新バージョンです。 Webpack は現在最も人気のある JavaScript モジュール パッケージャーおよびビルド ツールの 1 つで、プロジェクト内のさまざまなリソースの管理に役立ちます。この記事では、Webpack を使用して Vue3 アプリケーションをパッケージ化してビルドする方法を紹介します。 1.Webpackをインストールする

Web ページをすばやく更新するにはどうすればよいですか? Web ページをすばやく更新するにはどうすればよいですか? Feb 18, 2024 pm 01:14 PM

ネットワークを日常的に使用する中でページの更新は頻繁に行われますが、Web ページにアクセスすると、Web ページが読み込まれない、表示が異常になるなどの問題が発生することがあります。現時点では、通常、問題を解決するためにページを更新することを選択しますが、ページを素早く更新するにはどうすればよいでしょうか?ページ更新のショートカット キーについて説明します。ページ更新ショートカットキーは、キーボード操作で現在のWebページを素早く更新する方法です。オペレーティング システムやブラウザが異なると、ページを更新するためのショートカット キーが異なる場合があります。以下では一般的な W を使用します。

Golang を使用して Web アプリケーションのフォーム検証を実装する方法 Golang を使用して Web アプリケーションのフォーム検証を実装する方法 Jun 24, 2023 am 09:08 AM

フォーム検証は Web アプリケーション開発において非常に重要なリンクであり、フォーム データを送信する前にデータの有効性をチェックして、アプリケーションのセキュリティ脆弱性やデータ エラーを回避できます。 Web アプリケーションのフォーム検証は、Golang を使用すると簡単に実装できます。この記事では、Golang を使用して Web アプリケーションのフォーム検証を実装する方法を紹介します。 1. フォーム検証の基本要素 フォーム検証の実装方法を紹介する前に、フォーム検証の基本要素が何であるかを知る必要があります。フォーム要素: フォーム要素は

Java API開発におけるWebサーバー処理にJetty7を使用する Java API開発におけるWebサーバー処理にJetty7を使用する Jun 18, 2023 am 10:42 AM

JavaAPI 開発における Web サーバー処理に Jetty7 を使用する インターネットの発展に伴い、Web サーバーはアプリケーション開発の中核部分となり、多くの企業でも注目を集めています。増大するビジネス ニーズを満たすために、多くの開発者が Web サーバー開発に Jetty の使用を選択しており、その柔軟性と拡張性は広く認識されています。この記事では、JavaAPI 開発における Jetty7 の使用方法を紹介します。

ウェブ上の顔面ブロック攻撃に対するリアルタイム保護 (機械学習に基づく) ウェブ上の顔面ブロック攻撃に対するリアルタイム保護 (機械学習に基づく) Jun 10, 2023 pm 01:03 PM

顔面遮蔽弾幕とは、映像内の人物を遮ることなく大量の弾幕が浮遊し、人物の背後から浮遊しているように見せることです。機械学習は数年前から普及していますが、これらの機能がブラウザでも実行できることは多くの人に知られていません。この記事では、ビデオ連発における実際的な最適化プロセスを紹介します。記事の最後に、適用可能なシナリオをいくつか示します。このソリューションを開くことを望んでいます。いくつかのアイデアがあります。 mediapipeDemo (https://google.github.io/mediapipe/) は、顔ブロック弾幕のオンデマンドアップアップロードの主流の実装原理を示していますサーバーのバックグラウンド計算により、ビデオ画面内のポートレート領域を抽出し、SVG ストレージに変換しますクライアントがビデオを再生している間、サーバーから SVG をダウンロードし、弾幕、ポートレートと組み合わせる

FRPS サーバーと Web がポート 80 を共有するように nginx を設定する方法 FRPS サーバーと Web がポート 80 を共有するように nginx を設定する方法 Jun 03, 2023 am 08:19 AM

まず、frpって何?という疑問があると思います。簡単に言うと、frp はイントラネット侵入ツールであり、クライアントを設定すると、サーバー経由でイントラネットにアクセスできるようになります。現在、私のサーバーは Web サイトとして nginx を使用しており、ポート 80 が 1 つだけあります。では、FRP サーバーもポート 80 を使用したい場合はどうすればよいでしょうか?クエリ後、nginx のリバース プロキシを使用してこれを実現できます。追加: frps はサーバー、frpc はクライアントです。ステップ 1: サーバーの nginx.conf 構成ファイルを変更し、次のパラメータを nginx.conf の http{} に追加します。server{listen80

See all articles