webpackガイド-初探
6494 ワード
すでにwebpackがJavaScriptのmodulesをコンパイルするために使われていることを知っているかもしれません.インストールが成功すれば、CLIまたはAPIの形でwebpackを使うことができます.webpackの初心者なら、まずコア概念と競合品を読んで、なぜwebpackを使うのですか?他のコミュニティで淘汰された競合品ではないです.
ベースの取り付け
まずフォルダを作成し、npmで初期化して、ローカルにwebpackをインストールします.
mkdir webpack-demo && cd webpack-demo
npm init -y
npm install --save-dev webpack
私たちは以下のファイルディレクトリの結果を作成します.webpack-demo
|- package.json
+ |- index.html
+ |- /src
+ |- index.js
src/index.jsfunction component() {
var element = document.createElement('div');
// Lodash, currently included via a script, is required for this line to work
element.innerHTML = _.join(['Hello', 'webpack'], ' ');
return element;
}
document.body.appendChild(component());
index.
Getting Started
この では、
タグを して な が し、index.js
ファイルに するlodash
は、 にすでにページに まれています.このようにJavaScriptプロジェクトを するには のような があります.
index.js
を ってこれらの を します.バンドルを
まず、カタログを して、コード
lodash
からソースコード_
を します.「source」フォルダには が したコードを します.「distribution」ファイルにはビルダー を て したwebpack
が されます. らは にブラウザにロードされます.プロジェクト
webpack-demo
|- package.json
+ |- /dist
+ |- index.html
- |- index.html
|- /src
|- index.js
/dist
に/src
をバンドルするために、 するライブラリをローカルにインストールする があります. は の りです.npm install --save lodash
そしてそれを たちのスクリプトに します.src/index.js
+ import _ from 'lodash';
+
function component() {
var element = document.createElement('div');
- // Lodash, currently included via a script, is required for this line to work
+ // Lodash, now imported by this script
element.innerHTML = _.join(['Hello', 'webpack'], ' ');
return element;
}
document.body.appendChild(component());
、 たちはscriptを りますので、 たちはoutput
ファイルを したいです.lodash index.js
を します. lodash
それを して、 のindex.html
を してこのバインディングをロードします. の
ファイルに えて、 のようにします.dist/index.
Getting Started
-
-
+
このステップにおいて、import
が の にロードし、
として された(ここではグローバルコード がない).モジュールに な を することによって、webpackはこれらの を いて を し、その 、この を いて されたバンドルを することができる.(bundleでは、webpackパッケージ の をbundleで ぶようにしています.)このbundleではシナリオが しい に されます.の によれば、 たちのシナリオをエントリインターフェースとして
/src
を としてindex.js
を します. な は の りです../node_modules/.bin/webpack src/index.js dist/bundle.js
Hash: ff6c1d39b26f89b3b7bb
Version: webpack 2.2.0
Time: 385ms
Asset Size Chunks Chunk Names
bundle.js 544 kB 0 [emitted] [big] main
[0] ./~/lodash/lodash.js 540 kB {0} [built]
[1] (webpack)/buildin/global.js 509 bytes {0} [built]
[2] (webpack)/buildin/module.js 517 bytes {0} [built]
[3] ./src/index.js 278 bytes {0} [built]
, 。
lodash
ファイルをブラウザで きます. であれば、 のようなテキストが えます.ES 2015モジュール
_
およびbunlde.js
は、 くのブラウザによってサポートされていませんが、webpackは としてそれらをサポートしています.その は、webpackが にこれらのコードを して、 いブラウザでも できます.webpack
ファイルを めば、webpackがどのようにそれらを するかを ることができます.それは に です.を う
ほとんどの はより なステップが なので、webpackはプロファイルをサポートしています. に のコマンドラインを うよりも、プロファイルを うほうがより な です. コマンドの わりに コマンドを します.まず、プロジェクト を します.
プロジェクト
webpack-demo
|- package.json
+ |- webpack.config.js
|- /dist
|- index.html
|- /src
|- index.js
webpack.co.nfig.jsvar path = require('path');
module.exports = {
entry: './src/index.js',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist')
}
};
プロファイルを ってプロファイルをもう します../node_modules/.bin/webpack --config webpack.config.js
Hash: ff6c1d39b26f89b3b7bb
Version: webpack 2.2.0
Time: 390ms
Asset Size Chunks Chunk Names
bundle.js 544 kB 0 [emitted] [big] main
[0] ./~/lodash/lodash.js 540 kB {0} [built]
[1] (webpack)/buildin/global.js 509 bytes {0} [built]
[2] (webpack)/buildin/module.js 517 bytes {0} [built]
[3] ./src/index.js 278 bytes {0} [built]
If a webpack.config.js is present, the webpack
もしwebpack.co nfig.jsが するならば、index.html
コマンドラインツールは、デフォルトのプロファイルとして します.import
オプションを すれば、ファイル から のプロファイルを できます.この は、 が な に で、 に です.ファイルはコマンドラインよりも な をサポートします. のローディング 、プラグイン、 オプション、その の を できます.プロファイルドキュメントを して、より くの を ることができます.
NPMスクリプト
コマンドラインでwebpackを するコマンドが いため、 なショートカットを できます.
export
ファイルには のnpmスクリプトを できます.{
...
"scripts": {
"build": "webpack"
},
...
}
はdist/bundle.js
コマンドを するだけで、 いwebpackコマンドに わることができます.これらを してwebpack
において、 なパスを く わりに、 にインストールされたパケットを で することができます.この により、--config
を することができます.package.json
を するのではなく、npmベースのプロジェクトのほとんどがwebpを するためになりました.ackコマンドの .のような を しましょう. のような が られます.
npm run build
Hash: ff6c1d39b26f89b3b7bb
Version: webpack 2.2.0
Time: 390ms
Asset Size Chunks Chunk Names
bundle.js 544 kB 0 [emitted] [big] main
[0] ./~/lodash/lodash.js 540 kB {0} [built]
[1] (webpack)/buildin/global.js 509 bytes {0} [built]
[2] (webpack)/buildin/module.js 517 bytes {0} [built]
[3] ./src/index.js 278 bytes {0} [built]
おわりには な プロジェクトがあります.「コアコンセプト」と「プロファイル」を して、wepackの をよりよく するようにします.APIの はwebpackが するインターフェースを することに しています.または、より い を して したいなら、 の で、あなたが するdemoは に のような に づいています.
プロジェクト
webpack-demo
|- package.json
|- webpack.config.js
|- /dist
|- bundle.js
|- index.html
|- /src
|- index.js
|- /node_modules