webpack4 の新機能は何ですか?注意が必要なことは何ですか?
この記事では、webpack4 の新機能について説明します。注意が必要なことは何ですか?困っている友人は参考にしていただければ幸いです。
開発者がまだ webpack3.x の余韻に浸っている間に、webpack4.x が静かに登場しました。
ユーザーにとって最も予想される質問は次のとおりです:
古いバージョンと比較して、新しいバージョンの変更点は何ですか?
webpack3.x から webapck4.x への移行?
webpack4.x を使用する際に注意すべき点は何ですか?
#webpack の新機能
ビルド ツールとしての webpack の機能は次のとおりです。- # # webpack.config.js で多くの独自の機能を設定できます;
- その設定は柔軟で変更可能です。それが悪いことでもある。カジュアルすぎるため、制御が難しく、次の問題が発生します。
- 小さなアプリケーションを構築するには、大規模なアプリケーションを構築するのと同じように、webpack.config.js を構成する必要があります (スズメは小さいですが、すべての内臓があります)。
##そして webpack4.x は新しい webpack の第一世代バージョンは、既存の問題を大幅に解決しました。
webpackk4.x では、webpack.config.js 構成ファイルを使用する必要はありません。 次の 6 つの手順を使用して、プロジェクトの構築を完了できます:
プロジェクト ディレクトリ (webpack-demo) を 1 つ作成し、変更したディレクトリに入ります。
mkdir webpack-demo && cd webpack-demo
- package.json ファイル
-
npm init -y
webpack と webpack-cli の依存関係をロード -
npm install webpack webpack-cli --save-dev
~/src/index.js ファイルをプロジェクトに追加します (index.js はデフォルトのエントリ ファイルで、デフォルトのエントリ ディレクトリは ~/src です。もちろん、追加することもできます)また、エントリ ファイルをカスタマイズする必要があります。package.json のメイン構成を変更する必要があります。項目は指定されたファイルです) -
index.js ファイルのコードは次のとおりです:
console.log('hello webpack.')
ログイン後にコピーpackage.json を開き、スクリプト構成項目に次のコードを追加します。 -
"scripts": { "build": "webpack" }
ログイン後にコピー注: これは NPM スクリプト コマンドです。
npm run build コマンドを実行すると、次の内容が表示されます。プロジェクト内の ~/dist/main.js ファイル。コマンド ウィンドウに、次の警告プロンプトが表示されるはずです。
WARNING in configuration The 'mode' option has not been set, webpack will fallback to 'production' for this value. Set 'mode' option to 'development' or 'production' to enable defaults for each environment. You can also set it to 'none' to disable any default behavior. Learn more: https://webpack.js.org/concepts/mode/
このプロンプト メッセージは無視してください。 webpack4.x のプロジェクト初期化設定は webpack3.x とあまり変わらないことがわかりましたが、webpack4.x は異なります。必要な webpack.config.js 構成ファイルがありません。
パッケージング モードの変更上記のプロンプト メッセージをもう一度見てみましょう。これは、「パッケージ化モードの構成項目が設定されていない場合、デフォルトのパッケージ化モードは実稼働モード (本番モード) であり、開発モードの場合は」ということを意味します。 (開発) では、この時点で、webpack4 のモード設定項目を設定する必要があることが理解できると思います。
実際のアプリケーションでは、開発モードと運用モードを区別することがよくありますが、webpack4.x ではこれは難しくありません。package.json 内のスクリプトを次のように変更するだけです:
"scripts": { "dev": "webpack --mode development", // 用于开发模式 "build": "webpack --mode production" // 用于生产模式 }
'右! webpack4.x はとてもシンプルです。」 webpack3.x のように、開発モードと運用モードにそれぞれ 2 つの構成ファイルを定義する必要はありません。
デフォルトの設定エントリ/終了をオーバーロードする設定ファイル webpack.config.js がないため、設定の作業負荷が軽減されるだけでなく、メソッドを垣間見たばかりの私たちにとってはいくつかの疑問が生じます。例: 入口/出口をカスタマイズするにはどうすればよいですか?
webpack.config.js がない場合は、コマンド ラインにエントリ/終了構成項目を追加できます。コードは次のとおりです。
"scripts": { "dev": "webpack --mode development ./src/entry.js --output ./dist/bundle.js", // 用于开发模式 "build": "webpack --mode production ./src/entry.js --output ./dist/bundle.min.js" // 用于生产模式 }
これは webpack.config を使用しないだけです。 .js の計画。
上記は、webpack4.x によってもたらされた全体的な変更です。
ただし、元の webpack.config.js 構成ファイル内のモジュールおよびプラグイン構成項目の関数実装には、引き続き webpack.config.js を使用する必要があります。 Webpack チームの計画では、一般的に使用されるいくつかのローダーとプラグインを構成することですが、運用モードに導入せずに *.js コードを圧縮できる UglifyJSPlugin 組み込みプラグインのみが実装されています。他のローダーとプラグインは、webpack.config.js を通じてのみ導入できます。
Webpack の移行と注意事項webpack4.x でのこれらの変更を見ると、多くの人は webpack3.x から webpack4.x への移行が簡単かどうか疑問に思うだけではありません。 、実際には面倒ではありません、webpack4.x は webpack.3x と下位互換性があります。
webpack.config.js を導入しないように、そのときは npm スクリプトを使用しました。入口と出口のリロードと同様に、webpack.config.js 設定ファイル内で完了することもできます。構成はオリジナルと同じですが、webpack4.x には注意が必要な次の問題があります。
升级到webpack4.x,你会发现在使用 extract-text-webpack-plugin 分离 *.css 出文件时经常出错,这是 extract-text-webpack-plugin 本身的问题,官方推荐使用 mini-css-extract-plugin 来避免问题的出现,但使用 mini-css-extract-plugin 有一个限制就是webapck须是4.2.0版本以上(较低的版本不支持)。
使用 使用babel-loader 转化ES6->ES5时将不需要 .babelrc 配置文件,你只需要在 package.json 的 scripts 中添加 --module-bind js=babel-loader 即可完成对 babel-loader 的配置。
其他的loader和plugin没有什么大的变化。其实讲到这里基本完了,下面是用webpack4.x构建的一个demo。
webpack4.x的demo
紧接上面的配置:
首先,添加 html-wepback-plugin 和 html-loader 依赖:
npm install html-webpack-plugin html-loader --save-dev
html-webpack-plugin生成html文件(html文件用来加载打包生成 bundle.js 文件),当然你也可以使用webpack支持的各种模板loader,这里使用 html-loader 支持的 *.html 类型模板来生成。
其次,添加 mini-css-extract-plugin
和 css-loader
依赖:
npm install mini-css-extract-plugin css-loader --save-dev
loader和plugin配置与webpack3.x类同,也可参考下面提供代码中的 webpack.config.js 文件。
然后,添加 babel-loader 、@babel/babel-core 和 @babel/babel-preset 依赖:
npm install @babel/core babel-loader @babel/preset-env --save-dev
loader和plugin配置与webpack3.x类同,也可参考下面提供源码中的 webpack.config.js 文件。
修改 package.json 中 scripts 如下:
"scripts": { "dev": "webpack --mode development --module-bind js=babel-loader ./src/entry.js --output ./dist/bundle.js", "build": "webpack --mode production ./src/entry.js --module-bind js=babel-loader --output ./dist/bundle.min.js" },
最后,添加 webpack-dev-server 依赖,实现项目文件修改,浏览器及时刷新
npm install webpack-dev-server
在 package.json 中 scripts 的 dev 替换 webpack 为 webpack-dev-server 即可,代码如下:
"scripts": { "dev": "webpack-dev-server --mode development --module-bind js=babel-loader ./src/entry.js --output ./dist/bundle.js", "build": "webpack --mode production ./src/entry.js --module-bind js=babel-loader --output ./dist/bundle.min.js" },
这样一个简单的demo就完成了。
其他的loader和plugin配置和webpack3.x类同。
以上がwebpack4 の新機能は何ですか?注意が必要なことは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Vue は、インタラクティブで効率的な Web アプリケーションを迅速に構築するのに役立つ優れた JavaScript フレームワークです。 Vue3 は、多くの新機能が導入された Vue の最新バージョンです。 Webpack は現在最も人気のある JavaScript モジュール パッケージャーおよびビルド ツールの 1 つで、プロジェクト内のさまざまなリソースの管理に役立ちます。この記事では、Webpack を使用して Vue3 アプリケーションをパッケージ化してビルドする方法を紹介します。 1.Webpackをインストールする

相違点: 1. Webpack サーバーの起動速度は Vite より遅いですが、Vite は起動時にパッケージ化する必要がなく、モジュールの依存関係を解析してコンパイルする必要がないため、起動速度が非常に速くなります。 2. Vite ホット アップデートは webpack よりも高速です。Vite の HRM の観点から、特定のモジュールのコンテンツが変更された場合、ブラウザーにモジュールを再リクエストさせるだけです。 3. Vite は esbuild を使用して依存関係を事前構築しますが、webpack はノードに基づいています。 4. Vite のエコロジーは webpack ほど良くなく、ローダーとプラグインが十分に豊富ではありません。

Web 開発テクノロジーの継続的な発展に伴い、フロントエンドとバックエンドの分離とモジュール開発が広く普及する傾向になりました。 PHP は一般的に使用されるバックエンド言語です。モジュラー開発を行う場合、モジュールの管理とパッケージ化にいくつかのツールを使用する必要があります。Webpack は非常に使いやすいモジュラー パッケージング ツールです。この記事では、モジュール開発に PHP と webpack を使用する方法を紹介します。 1. モジュラー開発とは何ですか? モジュラー開発とは、プログラムを、それぞれが独自の機能を持つ独立したモジュールに分解することを指します。

設定方法: 1. import メソッドを使用して ES6 コードをパッケージ化された js コード ファイルに配置します; 2. npm ツールを使用して babel-loader ツールをインストールします。構文は「npm install -D babel-loader @babel/core」です。 @babel/preset-env"; 3. babel ツールの構成ファイル「.babelrc」を作成し、トランスコーディング ルールを設定します。 4. webpack.config.js ファイルでパッケージ化ルールを構成します。

最新の Web アプリケーションの複雑さが増すにつれて、優れたフロントエンド エンジニアリングとプラグイン システムを構築することがますます重要になっています。 Spring Boot と Webpack の人気により、これらはフロントエンド プロジェクトとプラグイン システムを構築するための完璧な組み合わせになりました。 SpringBoot は、最小限の構成要件で Java アプリケーションを作成する Java フレームワークです。自動構成などの多くの便利な機能を提供するため、開発者は Web アプリケーションをより迅速かつ簡単に構築および展開できます。 W

Webpack はモジュールのパッケージ化ツールです。さまざまな依存関係のモジュールを作成し、それらをすべて管理可能な出力ファイルにパッケージ化します。これは、単一ページ アプリケーション (今日の Web アプリケーションの事実上の標準) に特に役立ちます。

vue では、webpack は js、css、ピクチャ、json、その他のファイルをブラウザで使用できる適切な形式にパッケージ化できます。webpack では、js、css、ピクチャ、json、その他のファイル タイプをモジュールとして使用できます。 Webpack のさまざまなモジュール リソースは、パッケージ化して 1 つ以上のパッケージにマージでき、パッケージ化プロセス中に、画像の圧縮、scss から css への変換、ES6 構文から ES5 への変換などのリソースを処理できます。 HTMLで認識されるファイルタイプ。

vue の Webpack は、ノード パッケージ マネージャー「npm」または npm イメージ「cnpm」を使用してインストールされます。 Webpack は、最新の JavaScript アプリケーション用の静的モジュール パッケージ ツールです。node.js に基づいて開発されています。使用する場合は、node.js コンポーネントのサポートが必要です。npm または cnpm を使用してインストールする必要があります。構文は、「npm install webpack -」です。 g」または「cnpm install webpack -g」。
