ローカルサーバーを構築するためのwebpack-dev-serverの実装

ローカルサーバーを構築するためのwebpack-dev-serverの実装

序文

webpackを使用してパッケージ化すると、コードを少し更新するたびに再パッケージ化する必要があるため、非常に面倒です。ローカルにサーバーを構築し、新しいコードを作成して自動的に検出されるようにしたいと考えています。このとき、webpack-dev-serverを使用する必要があります。

webpack-deb サーバー

Webpack はオプションのローカル開発サーバーを提供します。このローカル サーバーは node.js 上に構築され、内部で express フレームワークを使用しているため、ブラウザーの自動更新を実現し、必要な変更された結果を表示できます。

これは別のモジュールなので、使用する前にインストールする必要があります。コマンドは次のとおりです。

npm インストール -D webpack-dev-server 

インストールが完了したら、webpack でも設定する必要があります。設定の対象は devServer で、これにも多くのプロパティがあります。よく使用されるプロパティは次のとおりです。

  • contentBase: ローカルサービスを提供するファイルはどれですか? デフォルトはルートファイルです。ここでは./distと入力する必要があります。
  • port: ポート番号、デフォルトは 8080
  • インライン: ページはリアルタイムで更新されます
  • historyApiFallBack: SPA(シングルページアプリケーション)ページでは、HTML5 履歴モードを使用します。

webpack.config.js の構成は次のとおりです。

モジュール.エクスポート = {
   開発サーバー: {
        コンテンツベース: "./dist",
        インライン: true、
    },
}

次に、package.json ファイルにスクリプト コマンドを追加しましょう。

「スクリプト」: {
    "dev": "webpack サーブ"
  },

devは開発環境を表し、上記の構成は完了です

webpack-dev-server 起動エラー

次に、npm run dev コマンドを開始すると、プログラムは次のエラーを報告します。

エラー: モジュール 'webpack-cli/bin/config-yargs' が見つかりません

理由はwebpack-cliのバージョンの問題です。まずは下記のバージョンを見てみましょう。

"webpack": "^5.44.0",
"webpack-cli": "^4.7.2",
"webpack-dev-server": "^3.11.2"

解決策1

webpack-cliのバージョンを4から3に下げる

1. webpack-cliをアンインストールする

npm アンインストール webpack-cli

2. webpack-cli@3をインストールする

npm インストール webpack-cli@3 -D

起動時にエラーは報告されませんが、これは一時的な解決策にすぎません。2番目の解決策をお勧めします。

解決策2

スクリプトの設定を変更し、元のwebpack-dev-serveをwebpack serveに変更します。

「スクリプト」: {
    "dev": "webpack サーブ --open --mode 開発"
},

最後に、ターミナルで npm run dev と入力して通常どおり起動すると、パラメータ --open を追加したので Web ページが自動的に開きます。手動で開きたい場合は、--open を削除するだけです。

港湾占拠問題を解決する

すでにvue+webpackでプロジェクトを開始しているが、npm run devを再度実行すると、次のエラーが報告されます。

エラー: listen EADDRINUSE: アドレスはすでに使用中です 127.0.0.1:8080

理由は、前回開始したデフォルトのポートが 8080 だったためです。今回プロジェクトを再度開始すると、ポートはまだ 8080 ですが、ポート 8080 はすでに使用されています。解決策としては、ポート 8080 に対応する PID プロセス番号を強制終了するだけで済みます。

まずポート8080に対応するプロセスIDを見つけます

lsof -i:8080

対応する PID を見つけたら、kill コマンドを使用してそれを強制終了します。

kill -9 PID プロセス番号

webpack-dev-server を使ったローカルサーバーの構築に関する記事はこれで終わりです。webpack-dev-server を使ったローカルサーバーの構築についての詳細は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • webpack-dev-serverの使い方の詳しい説明
  • Webpack-dev-server プロキシの使用方法の詳細な説明
  • webpack3.0 を使用して webpack-dev-server を設定するチュートリアル
  • webpack-dev-server の設定と使用に関する簡単な説明
  • webpack-dev-server を使用してクロスドメイン リクエストを処理する方法
  • webpack-dev-serverの簡単な使い方の詳しい説明
  • Webpack-dev-server リモート アクセス構成方法
  • Webpack-dev-server 自動更新ページメソッド

<<:  Zabbix は DingTalk のアラーム機能を画像付きで設定します

>>:  MySQLテーブルにタイムスタンプを追加するいくつかの方法

推薦する

MySQL インデックス カバレッジの例の分析

この記事では、MySQL インデックス カバレッジについて例を挙げて説明します。ご参考までに、詳細は...

xshell を使用して VMware で Linux に接続する方法 (2 つの方法)

【序文】最近、ITOO の試験システムのストレステストを行いたいので、自分のコンピュータに Lin...

MySQLにおけるACIDトランザクションの実装原理の詳細な説明

導入いつものように、シーンから始めましょう〜インタビュアー:「トランザクションの4つの特性をご存知で...

Nginx 外部ネットワーク アクセス イントラネット サイト構成操作

背景:サイトはフロントエンドとバックエンドから分離されています: vue+springbootフロン...

Docker ケース分析: MySQL データベース サービスの構築

目次1 設定ディレクトリとデータディレクトリを作成する3 イメージからホストに構成ファイルをコピーす...

MySQLのスロークエリの詳細な説明

MySQL操作情報のクエリ show status -- すべての MySQL 操作情報を表示します...

初心者がHTMLタグを学ぶ(2)

関連記事:初心者が学ぶ HTML タグ (1)初心者は、いくつかの HTML タグを理解することで ...

Vue+video.jsはビデオプレイリストを実装します

この記事では、ビデオプレイリストを実装するためのvue + video.jsの具体的なコードを参考ま...

CnBlogs カスタムブログスタイルの共有

半夜かけてようやくブログのスタイルを大体完成させることができました。ブログ全体が青を基調としていて、...

Zabbix パスワードをリセットする方法 (ワンステップ)

問題の説明長い間アカウントパスワードを入力して Zabbix にログインしていないため、管理者パスワ...

JavaScript プロトタイプチェーンを理解するための 2 つの図

目次1. プロトタイプの関係2. プロトタイプチェーン3. 結論序文:前回の記事では、JavaScr...

仮想マシンの複製に関するVirtual Boxチュートリアル図

VMに慣れた後、BOXに切り替えるのは少し異なります。たとえば、コピーネットワークカードを2枚使って...

ARMアーキテクチャにおける関数呼び出しプロセスの簡単な分析

目次1. 背景知識1. ARM64レジスタの紹介2. STP命令の詳しい説明(ARMV8マニュアル)...

JavaScript データ プロキシとイベントの詳細な分析

目次データブローカーとイベントObject.defineProperty メソッドのレビューデータブ...

無視されたDOCTYPE記述の分析

doctype もその 1 つです。 <!DOCTYPE HTML PUBLIC "...