ホームページ ウェブフロントエンド jsチュートリアル webpack.config.js パラメータの使用例

webpack.config.js パラメータの使用例

May 10, 2018 am 10:27 AM
javascript web

今回はwebpack.config.jsパラメータの使用例をお届けします。実際のケースを見てみましょう。 webpack.config.js ファイルは通常、プロジェクトのルート ディレクトリに配置され、それ自体も標準 Commonjs 仕様モジュールです。

var webpack = require('webpack');
module.exports = {
 entry: [
  'webpack/hot/only-dev-server',
  './js/app.js'
 ],
 output: {
  path: './build',
  filename: 'bundle.js'
 },
 module: {
  loaders: [
  { test: /\.js?$/, loaders: ['react-hot', 'babel'], exclude:  /node_modules/ },
  { test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader'},
  { test: /\.css$/, loader: "style!css" },
  {test: /\.less/,loader: 'style-loader!css-loader!less-loader'}
  ]
 },
 resolve:{
  extensions:['','.js','.json']
 },
 plugins: [
  new webpack.NoErrorsPlugin()
 ]
};
ログイン後にコピー

1.entryentry には、

string

、配列、またはオブジェクトを指定できます。 エントリが文字列の場合、

エントリ ファイル

の定義に使用されます。

エントリが配列の場合、エントリ js ファイルも含まれます。別のパラメータを使用して、webpack によって提供される静的リソース サーバーを構成することもできます。 、webpack-dev-server。 webpack-dev-server は、プロジェクト内の各ファイルの変更を監視し、リアルタイムでビルドし、ページを自動的に更新します:

entry: [
  'webpack/hot/only-dev-server',
  './js/app.js'
ログイン後にコピー

エントリがオブジェクトの場合、異なるファイルを異なるファイルにビルドし、必要に応じて使用できます。たとえば、hello.js を hello ページに導入するだけです。

 entry: {
  hello: './js/hello.js',
  form: './js/form.js'
 }
ログイン後にコピー

2.output 出力パラメータは、ビルドされたファイルの出力を定義するために使用されるオブジェクトです。これにはパスとファイル名が含まれます:

 output: {
  path: './build',
  filename: 'bundle.js'
 }
ログイン後にコピー

エントリで複数のファイルを定義してビルドする場合、ファイル名はそれに応じて [name] に変更できます。js は、ビルド後にさまざまなファイルの名前を定義するために使用されます。

3.module モジュールの読み込みに関しては module.loaders で定義します。ここでは、

正規表現

を使用して、異なるサフィックスを持つファイル名を照合し、それらに対して異なるローダーを定義します。たとえば、より少ないファイルに対して 3 つのローダーを連続して定義します (! カスケード関係を定義するために使用されます):

さらに、png や jpg などの画像リソースを追加して、10k 未満の場合に自動的に Base64 画像に処理することもできます。ローダー:

{ test: /\.(png|jpg)$/,loader: 'url-loader?limit=10000'}
ログイン後にコピー

css、less、images にローダーを追加した後、node のように js ファイルを要求できるだけでなく、css、less、さらには画像ファイルも要求できます:

 require('./bootstrap.css');
 require('./myapp.less');
 var img = document.createElement('img');
 img.src = require('./glyph.png');
ログイン後にコピー

しかし、知っておく必要があるのは、必要なファイルが js バンドルにインライン化されることを確認します。必須の記述方法を保持し、CSSファイルを別途取り出したい場合は、後述の[extract-text-webpack-plugin]プラグインを使用できます。

上記のコード例で構成された最初のローダーでは、react-hot というローダーが確認できます。私のプロジェクトは反応を学習し、関連するコードを書くために使用されるため、反応コンポーネントのホット置き換えを実現できる反応ホットローダーを構成しました。エントリパラメータで webpack/hot/only-dev-server を設定したため、react-hot-loader を使用するために webpack 開発サーバーを起動するときに --hot パラメータを有効にするだけで済みます。 package.json ファイルで次のように定義します:

"scripts": {
  "start": "webpack-dev-server --hot --progress --colors",
  "build": "webpack --progress --colors"
 }
ログイン後にコピー

4.resolve パッケージをビルドするとき、webpack はディレクトリによってファイルを検索します。resolve 属性の拡張子配列を使用してプログラムを構成できます。すべてのファイルのサフィックス:

 resolve:{
  extensions:['','.js','.json']
 }
ログイン後にコピー

次に、js ファイルをロードする場合は、common.js ファイルをロードするために require('common') だけが必要です。

6.externalsプロジェクト内で他のクラス ライブラリまたは API を必要としたいが、これらのクラス ライブラリのソース コードをランタイム ファイルに組み込みたくない場合、これは非常に困難です。実際の開発が必要です。この時点で、externals パラメーターを構成することでこの問題を解決できます:

 externals: {
  "jquery": "jQuery"
 }
ログイン後にコピー

これにより、プロジェクトでこれらの API を自信を持って使用できるようになります: var jQuery = require("jquery");

7.context モジュールを要求するとき、次のように require に変数を含めると、

require("./mods/" + name + ".js");
ログイン後にコピー

その場合、コンパイル中に特定のモジュールを知ることができません。ただし、この時点で、webpack はいくつかの分析作業も行います:

1. 分析ディレクトリ: './mods'; 2. 正規表現を抽出します: '/^.*.js$ /';

于是这个时候为了更好地配合wenpack进行编译,我们可以给它指明路径,像在cake-webpack-config中所做的那样(我们在这里先忽略abcoption的作用):

 var currentBase = process.cwd();
 var context = abcOptions.options.context ? abcOptions.options.context : 
 path.isAbsolute(entryDir) ? entryDir : path.join(currentBase, entryDir);
ログイン後にコピー

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

构建项目时本地ip无法访问处理方法

vue-cli+webpack创建项目报错

以上がwebpack.config.js パラメータの使用例の詳細内容です。詳細については、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)

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 Dec 17, 2023 pm 02:54 PM

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー Dec 17, 2023 pm 05:30 PM

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 Dec 17, 2023 pm 12:09 PM

JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを実装する方法の紹介: インターネットの普及とテクノロジーの進歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを実装するには、JavaScript と WebSocket テクノロジを使用できます。 WebSocket は、TCP プロトコルをベースとした全二重通信プロトコルで、クライアントとサーバー間のリアルタイム双方向通信を実現します。リアルタイムオンラインオーダーシステムにおいて、ユーザーが料理を選択して注文するとき

WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 Dec 17, 2023 am 09:39 AM

WebSocket と JavaScript を使用してオンライン予約システムを実装する方法 今日のデジタル時代では、ますます多くの企業やサービスがオンライン予約機能を提供する必要があります。効率的かつリアルタイムのオンライン予約システムを実装することが重要です。この記事では、WebSocket と JavaScript を使用してオンライン予約システムを実装する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は、単一の TCP 接続における全二重方式です。

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 Dec 17, 2023 pm 05:13 PM

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 はじめに: 今日、天気予報の精度は日常生活と意思決定にとって非常に重要です。テクノロジーの発展に伴い、リアルタイムで気象データを取得することで、より正確で信頼性の高い天気予報を提供できるようになりました。この記事では、JavaScript と WebSocket テクノロジを使用して効率的なリアルタイム天気予報システムを構築する方法を学びます。この記事では、具体的なコード例を通じて実装プロセスを説明します。私たちは

簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 Jan 05, 2024 pm 06:08 PM

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

コックピット Web UI から管理アクセスを有効にする方法 コックピット Web UI から管理アクセスを有効にする方法 Mar 20, 2024 pm 06:56 PM

Cockpit は、Linux サーバー用の Web ベースのグラフィカル インターフェイスです。これは主に、初心者/熟練ユーザーにとって Linux サーバーの管理を容易にすることを目的としています。この記事では、Cockpit アクセス モードと、CockpitWebUI から Cockpit への管理アクセスを切り替える方法について説明します。コンテンツ トピック: コックピット エントリ モード 現在のコックピット アクセス モードの確認 CockpitWebUI からコックピットへの管理アクセスを有効にする CockpitWebUI からコックピットへの管理アクセスを無効にする まとめ コックピット エントリ モード コックピットには 2 つのアクセス モードがあります。 制限付きアクセス: これは、コックピット アクセス モードのデフォルトです。このアクセス モードでは、コックピットから Web ユーザーにアクセスできません。

ウェブってどういう意味ですか ウェブってどういう意味ですか Jan 09, 2024 pm 04:50 PM

Web は、ワールド ワイド ウェブとしても知られるグローバル ワイド エリア ネットワークであり、インターネットのアプリケーション形式です。 Web はハイパーテキストとハイパーメディアに基づいた情報システムであり、ユーザーはハイパーリンクを通じて異なる Web ページ間を移動することにより、情報を閲覧したり入手したりすることができます。 Web の基礎はインターネットであり、統一および標準化されたプロトコルと言語を使用して、異なるコンピューター間でのデータ交換と情報共有を可能にします。

See all articles