Webpackにトライ 基本編
Who are you?
ショウノシオリ
株式会社chatbox エンジニア
今年ご一緒した
JS界隈のものたち
“jQuery
Ajax
Vue.js
AngularJS
ES2015
Webpack
...
AngularJSとか
もはや覚えてないけど...
やっぱり一番お世話になったのは
ただ自由度高すぎてすごいコードになる
なのでWebpackをおさらいしてみた!
Webpackって?
Webコンテンツを構成するファイルをモジュール単位で取り扱い最適
な形に作り変えるためのツール らしい
公式サイト:https://webpack.github.io/
webpackでできること
▷ JSファイルを分割して読み込める
▷ JS以外のCSSとかもモジュールとして読み込める
▷ ダウンロードの最適化とかもできる
▷ Gulpとかの連携もできる
らしい
便利っぽい
CSSとかのはなんかよくわかんない
とりあえず
JSファイルの分割
だけでいいです
JSファイルの分割のメリット
▷ コードの管理がしやすくなる
▷  再利用しやすい
▷ module.exports外の変数は参照されないので「変数が置
き換わってしまっていた!」とならない
※モジュール化にはCommonJSを使う
Webpackのインストール
1. グローバルにWebpackをインストール
2. ディレクトリにpackage.jsonをつくる
3. ローカルにもnpmでWebpackをインストール
1. $ npm install -g webpack
2. $ npm init
3. $ npm install --save-dev webpack
いざ分割
の前に
仕組みについて
common.js
sub1.js
sub1.js
sub1.js
メインの
JSファイル
モジュールの
JSファイル
bundle.js
ブラウザが読み込む
ファイル
ブラウザ
CommonJSで
読み込ませる
webpack.config.js
Webpack
設定ファイルNode.jsを
ブラウザは
読めない…
※Node.js記法
①
手伝うよ!
② ブラウザが読める
記法に変換して出力
ブラウザが読める
記法になった
読める!
いざ分割
common.js
sub1.js
sub1.js
sub1.js
メインの
JSファイル
モジュールの
JSファイル
①
①CommonJSで読み込む
var sub1 = require(“./modules/sub1.js”);
var sub2 = require(“./modules/sub2.js”);
sub1.hello( );
sub1.goodmorning( );
sub2( );
module.exports.hello( ) = function( ){
console.log(“hello!”);
};
module.exports.goodmorning( ) = function(){
console.log(“goodmorning”);
};
sub1.js
common.js require(“path”) で読み込む
module.exports で出力
webpack.config.js
Webpack
設定ファイル
手伝うよ!
②ブラウザが読み込める記法に変換
module exports = {
entry : “ . / common.js ”,
output : {
path : “ . / ”,
filename : “ bundle.js ”
}
};
▷ webpack.config.js に設定を記述
▷ $ webpack で bundle.js がビルドされる
▷ $ webpack --watch だと監視してくれる
できた
もうすこしだけ
頑張ってみた
Babelを入れたら
ES2015
が書けるようになるらしい
※ES2015
そのうちブラウザに実装される
JSの仕様
って聞いてたけど
もう古いらしい・・・?
とりあえずやる
でもBabelって何?
ES2015で書いたものを今のブラウザでも読み込めるように
してくれるツール らしい
公式サイト:https://babeljs.io/
Babel導入の手順
1. $ npm install -g babel-cli
2. $ npm install --save-dev babel-preset-es2015
3. $ npm install --save-dev babel-loader babel-core
1. グローバルにBabelをインストール
2. Babel-preset-es2015のインストール
3. .babelrc(JSONファイル)をつくる
4. 必要なパッケージをnpmでインストール
5. $ webpack とコマンドを打てばOK
{
“Presets” : [“2015”]
}
.babelrc
コマンド
できた
一応Qiitaも書きました
来年はVue.jsとかに強くなりたいなぁ
Thanks!
Any questions?
You can find me at:
@username
user@mail.me

Webpackにトライ 基本編