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

推薦する

vue-router からのフロントエンドルーティングの 2 つの実装

目次モードパラメータハッシュ履歴ハッシュ履歴.push()ハッシュ履歴.replace()アドレスバ...

Vue はアップロードした画像に透かしを追加できるようになりました (アップグレード版)

vueプロジェクトでは、アップロードした画像に透かしを追加して参照できるようにするアップグレード版...

JS 継承の詳細

目次序文準備する要約する継承方法プロトタイプ継承プロトタイプチェーン継承コンストラクタの借用(クラス...

VMware 15 仮想マシンに Ubuntu 18.04 をインストールするグラフィック チュートリアル

ここ数年、私は自動化とコンピューターを行ったり来たりしてきました。最近は、機械学習に関連するプロジェ...

CentOS7 インストール GUI インターフェースとリモート接続の実装

ブラウザ (Web ドライバー) ベースの Selenium テクノロジを使用してデータをクロールす...

MySQL データベース設計 3 つのパラダイム例分析

3つのパラダイム1NF: フィールドは分離不可能です。 2NF: 主キーがあり、非主キー フィールド...

vue+rem カスタムカルーセル効果

vue+remを使用したカスタムカルーセルチャートの実装は参考までに。具体的な内容は以下のとおりです...

nginx をベースにリロードなしでアップストリーム サーバーの動的な自動起動と停止を実装する方法

目次1. Consulクラスタをデプロイする1. 準備3. Consulクラスタを作成する4. 管理...

Vueはシンプルな画像切り替え効果を実装します

この記事では、Vueの具体的なコード例を参考までに紹介します。具体的な内容は以下のとおりです。 コー...

Docker クロスサーバー通信オーバーレイソリューション (パート 1) Consul 単一インスタンス

目次シナリオタスクアイデア分析するコンセプトと選択ちょっとしたテスト環境説明予防実践テスト引用シナリ...

MySQL の単一テーブル クエリ操作例の詳細な説明 [構文、制約、グループ化、集計、フィルタリング、並べ替えなど]

この記事では、MySQL の単一テーブル クエリ操作について説明します。ご参考までに、詳細は以下の通...

英語のシングルクォーテーション「''」を含むSQLの記述の失敗について徹底解説

問題が発生しました。情報の編集をテストする際、編集した内容に一重引用符 (') が含まれてい...

Docker で MySQL をインストールし、リモート接続を実装するチュートリアル

画像をプルする docker プル mysql完成した画像を見る Docker イメージイメージを介...

MySQLはデータベースのN+1クエリ問題を解決します

導入HibernateやMyBatisなどのORMフレームワークでは、部門に関連付けられたユーザーオ...

Vue におけるキープアライブ マルチレベル ルーティング キャッシュの問題

目次1. 問題の説明2. 原因分析3. 解決策4. 処理1. 問題の説明調整センターでは、最後の 2...