Slide 1

Slide 1 text

Webpack 3 ৮ͬͯΈͨ Զͷ࿩Λฉ͚ʂʂLTେձ #4
 2017/07/19

Slide 2

Slide 2 text


 (ג)Ϩεί ΤϯδχΞ
 ng-fukuoka୅ද ৽෱ٓါ
 !QVLVY

Slide 3

Slide 3 text

Webpack

Slide 4

Slide 4 text

Webpack • ϑϩϯτΤϯυपΓͷϏϧυπʔϧ • HTML/CSS/JS → શ෦JSʹม׵ • bundle.js ʹ·ͱΊΔʢ෼ׂ΋Մʣ

Slide 5

Slide 5 text

V3 ϦϦʔεʂ https://medium.com/webpack/webpack-3-official-release-15fd2dd8f07b V2ϦϦʔε͔Β൒೥΋ܦͬͯͳ͍ΜͰ͚͢Ͳ…

Slide 6

Slide 6 text

V3ͰԿ͕มΘͬͨʁ

Slide 7

Slide 7 text

Scope Hoisting • ModuleConcatenationPluginͷ௥Ճ • Ϟδϡʔϧผʹ (function(){}) ͯͨ͠ ෦෼͕·ͱΊΒΕΔ • ࣮ߦ࣌ؒͱϑΝΠϧ༰ྔΛ࡟ݮ

Slide 8

Slide 8 text

https://medium.com/webpack/webpack-3-official-release-15fd2dd8f07b όϯυϧαΠζ൒ݮ!?

Slide 9

Slide 9 text

Magic Comments • V2͔Βͷimport()Λ࢖͏ͱchunk͕ ʮ0.bundle.jsʯˡ Θ͔Γʹ͍͘ • ೚ҙͷchunk໊Λ෇͚ΒΕΔ import(/* webpackChunkName: "my-chunk-name" */ 'module');

Slide 10

Slide 10 text

࢖ͬͯΈΑ͏ • ͔͔ͤͬͩ͘Βangular.ioΛ୊ࡐ • ng eject Ͱ webpack.config.js
 Λநग़ͯ͠ຐվ଄Ͱ͖Δ
 VerUPͰWebpack3ରԠ͢Δ͔Β΍Βͳ͍͍ͯ͘Αʂ

Slide 11

Slide 11 text

݁Ռ const { CommonsChunkPlugin, ModuleConcatenationPlugin } = require('webpack').optimize; "plugins": [ new ModuleConcatenationPlugin() ], αΠζ Ϗϧυ࣌ؒ ϓϥάΠϯͳ͠ ,# T ϓϥάΠϯ͋Γ ˞ ,# T ※ webpack.config.jsʹҎԼΛ௥Ճ

Slide 12

Slide 12 text

஫ҙ఺ • ModuleConcatenationPlugin࢖༻࣌
 • UglifyJSPlugin͸ผύοέʔδʹ { presets: [["es2015", { "modules": false }]] } npm i -D git://github.com/mishoo/UglifyJS2#harmony-v2.8.22 npm i -D uglifyjs-webpack-plugin

Slide 13

Slide 13 text

Webpack 3 ʹҠߦ͠Α͏ʂ