あなたの注意-Webpack 4

みなさんこんにちは! 今回は、Valentino Gagliardi のWebpack 4チュートリアルの翻訳:すべての必要な知識、0 ConfからProduction Modeへの記事がアジェンダにあります。

画像

今回のWebpack開発チームは、人気のあるモジュールビルダー( バンドラー )の新世代であるwebpack 4にほとんど取り組みました。

ここで使用されるコードを含むリポジトリ

ゼロ構成モジュールビルダーとしてのWebpack 4


誰も主張しません:それには強力な利点、多数の機能と設定がありますが、構成ファイルは頭痛の種です。

configの記述は、中規模および大規模のプロジェクトでは問題になりません。これがなければ、プロジェクトが存在することは困難です。 ただし、特におもちゃのアプリケーションを作成する場合は、小規模なプロジェクトが煩わしい場合があります。

Seanとwebpackチームは私たち全員の生活を改善しました。webpack4はデフォルトの設定ファイルを必要としなくなりました!

さて、それをテストします。

新しいディレクトリを作成してそこに行きます:

mkdir webpack-4-quickstart && cd $_ 

package.jsonを初期化します。

 npm init -y 

現在、webpack 4を開始しています(バージョンは現在ベータ版であるため、次に追加する必要があります):

 npm i webpack@next --save-dev 

webpack-cliを追加し、別のパッケージで生活します。

 npm i webpack-cli --save-dev 

package.jsonを開き、ビルドスクリプトを記述します。

 "scripts": { "build": "webpack" } 

ファイルを保存して閉じます。 実行:

 npm run build 

どうしたの?

 ERROR in Entry module not found: Error: Can't resolve './src' in '~/webpack-4-quickstart' 

Webpack 4は、アプリケーションのエントリポイントを探しています./src ! 理由がわからない場合は、簡単に説明します。エントリポイントは、webpackの構築を開始するファイルです。 以前のバージョンでは、 webpack.config.jsで直接宣言する必要がありました。

ただし、バージョン4以降では、エントリポイントを指定する必要はありません。 デフォルトでは./src/index.jsから取得されます!

ご覧ください。 ./src/index.jsを作成します。

 console.log(`    ?`); 

ビルドを再度実行します。

 npm run build 

ファイル〜/ webpack-4-quickstart / dist / main.jsを取得します。

出口点も本当に設定する必要はありませんか? まさに! エントリポイントも出口もありません。 さらに、構成ファイルは必要ありません

ほとんどの場合、これは驚くことではないことを知っています。コード分割におけるwebpackの力。 しかし、私を信じてください:ゼロ設定は時々開発をスピードアップします。

生産および開発モード


画像

多くの場合、いくつかのファイルへの構成の分離を見つけることができます。

典型的なプロジェクトには次のものがあります。


大規模なプロジェクトでは構成の分離が引き続き使用されますが、webpack 4ではすべてを1行で行います。

どうして? 生産モードと開発モードを満たします。

npm run buildの出力に注意を払うと、美しいエラーが表示されます。

画像
「モード」オプションが設定されていません。 「開発」または「本番」でモードをオンにして、デフォルト設定を適用します。

これはどういう意味ですか? わかります。 package.jsonを開き、次のようにスクリプトオブジェクトを追加します。

 "scripts": { "dev": "webpack --mode development", "build": "webpack --mode production" } 

そして今、試してみましょう:

 npm run dev 

./dist/main.jsを見てください 。 何が見えますか? はい、退屈なバンドルは...削減されません。 そして、もし:

 npm run build 

今何 ビルドファイルが削減されました。 はい! 「プロダクション」モードでは、あらゆる種類の最適化が単独で使用されます。 そして、最小化だけではありません。

一方開発モードではアプリケーションの速度が最適化されますが、それ以上は最適化されません。

したがって、4番目のwebpackを使用すると、アセンブリ全体を1行で変更できます。 --modeチェックボックスを追加するだけで、まったく問題なく結果が得られます。

イノベーションが好きですか? 今後、webpackに何を期待しますか? コメントを書いてください。

ご清聴ありがとうございました。

Source: https://habr.com/ru/post/J347812/


All Articles