ローカルサーバーを構築するための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テーブルにタイムスタンプを追加するいくつかの方法

推薦する

Docker Swarm 外部検証ロードバランシングが機能しない場合の解決策

問題の説明Centos7 をローカルにインストールして 3 つの仮想マシンを作成し、Swarm クラ...

docker run -v はデータボリュームを異常にマウントし、コンテナのステータスは常に再起動になります。

問題点: docker run に -v パラメータを追加すると、コンテナは常に再起動状態になります...

Linux で PCIe のバージョンと速度を確認する方法

PCIE には 4 つの異なる仕様があります。下の図でそのうちの 2 つを見てみましょう。マザーボー...

CSS3でシャトル星空のアニメーションを実現

結果: html <canvas id="スターフィールド"><...

Vue3 の ref と toRef の違いを簡単に分析します

1. refがコピーされ、ビューが更新されますrefを使用してオブジェクトのプロパティ値をレスポンシ...

HTTP ステータス コード

このステータス コードは、リクエストのステータスに関する情報を提供し、サイトとリクエストされたページ...

MySQLはランダムに一定数のレコードを抽出します

以前は、このような使用シナリオを処理するために rand() で直接 order していましたが、効...

Vue命令の動作原理と実装方法

Vue の紹介現在のビッグフロントエンドの時代は、混乱と衝突の時代です。世界は多くの派閥に分かれてお...

JSON.stringify のさまざまな用途のまとめ

序文json を使用したことがある人なら、オブジェクトを文字列化してからバックエンドに送信するのが一...

Linux システムをバックアップする docker コマンドの詳細な説明

tar バックアップ システム sudo tar cvpzf backup.tgz --exclud...

大量のデータをMySQLにインポートする際に発生する問題と解決策の分析

プロジェクトでは、SQL を使用してデータ分析を実行するために、大量のデータをデータベースにインポー...

Vueライフサイクルの違いの詳細な説明

ライフサイクル分類vue の各コンポーネントは独立しており、各コンポーネントには独自のライフサイクル...

MySQL ルートパスワードを変更する複数の方法 (推奨)

方法1: SET PASSWORDコマンドを使用する MySQL -u ルート mysql> ...

MySQL ストアド プロシージャの権限の問題の概要

MySQL ストアド プロシージャは、確かに、非常にまれな使用シナリオのように見えます。この問題は、...

Linux システムでデプロイメント プロジェクトを設定する方法

1. ファイアウォールの設定を変更し、対応するポートを開きますLinux システムのファイアウォール...