ローカルサーバーを構築するための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のメモをたくさん取っていますが、それは主に会社のOracleが比較的安定していてメン...

mysqlサーバーは--skip-grant-tablesオプションで実行されています

MySQLサーバーは--skip-grant-tablesオプションで実行されているため、このステー...

オブジェクト内のフィールドを削除する js メソッド

この記事では主に、オブジェクト内のフィールドを削除するための js の実装を紹介し、次のように共有し...

UTF-8 ファイルの Unicode 署名 BOM (バイト オーダー マーク) の問題

最近、UTF8 エンコードの中国語 Zen Cart Web サイトをデバッグしているときに奇妙な現...

本番環境でのMySQLパラメータsql_safe_updatesの使用に関する詳細な説明

序文アプリケーションのバグや DBA の誤操作が発生した場合、テーブル全体が更新される可能性がありま...

Docker ポート マッピングと外部アクセス不可の問題

Docker コンテナはサービスを提供し、ポート 8888 をリッスンします。外部からアクセスできる...

KTLツールはMySQLからMySQLへのデータの同期方法を実現します

ktl ツールを使用して、mysql から mysql にデータを同期します。 1. 新しいジョブス...

Vue でクラスとスタイルを使用して v-bind バインディングを使用するいくつかの方法

要素にクラスを追加/削除することは、プロジェクト開発では非常に一般的な動作です。たとえば、Web サ...

Vueデータプロキシの詳細な説明

目次1. これからお話しするのは、フロントエンド担当者がvue-cliで完了できるソリューション、デ...

SpringBootをDockerにデプロイし、jarパッケージを置き換える方法の詳細な説明

目次プロジェクトディレクトリDockerファイルファイルの展開画像を生成するコンテナを起動するウェブ...

Docker ベースの ELK を素早く構築する方法

[概要] この記事では、自作の Docker プラットフォームをベースに完全な ELK システムを素...

Dockerが独自のローカルイメージリポジトリを構築するための手順

1. 環境と準備1. Ubuntu 14.04 2.Docker環境2. 建設プロセス1. ミラーソ...

HTML <!--...--> コメントタグの役割の詳細な分析

多くのウェブサイトのソースコードを確認すると、多くのコメントが見つかります。特に、ソース文書にコメン...

デザイン参考 WordPressウェブサイト構築成功事例

これら 16 のサイトはそれぞれ注意深く読む価値があり、どのサイトでも推奨されている Web サイト...