Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Webpack Fundamentals
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Cheesecake Labs
August 16, 2018
Programming
0
45
Webpack Fundamentals
Beatriz Silveira
Cheesecake Labs
August 16, 2018
Tweet
Share
More Decks by Cheesecake Labs
See All by Cheesecake Labs
Cats' wellness & care
cheesecakelabs
0
56
How do we create the first impressions?
cheesecakelabs
0
65
Menstrual cup: suit and freedom
cheesecakelabs
0
81
Life is a cycle, better with a bicycle
cheesecakelabs
0
66
Interview Process: how to get the best of people
cheesecakelabs
1
96
My capsule wardrobe experience
cheesecakelabs
3
76
Stonewall Rebellion and its impact on LGBTQIA+ history
cheesecakelabs
1
53
Pregnancy, childbirth and breastfeeding: What do I have to do with it?
cheesecakelabs
0
53
MBTI - Psychological types described by Jung
cheesecakelabs
0
150
Other Decks in Programming
See All in Programming
Oxlintはいいぞ
yug1224
5
1.3k
Fragmented Architectures
denyspoltorak
0
150
Implementation Patterns
denyspoltorak
0
280
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
200
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
960
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.4k
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
730
CSC307 Lecture 07
javiergs
PRO
0
550
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
230
CSC307 Lecture 09
javiergs
PRO
1
830
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
430
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
450
Featured
See All Featured
New Earth Scene 8
popppiees
1
1.5k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Building an army of robots
kneath
306
46k
We Are The Robots
honzajavorek
0
160
Visualization
eitanlees
150
17k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
170
The Mindset for Success: Future Career Progression
greggifford
PRO
0
240
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.9k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
430
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
96
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
Transcript
Webpack Fundamentals
Origins
JS it's just scripts
Inline Script
Problems • Doesn't Scale • Too many Scripts • Performance
Problems • Unmaintainable Scripts • Scope • Size • Readability • Fragility
IIFE's - Immediately Invoked Function Expression
IIFE's • Full rebuilds every time • Lots of IIFE's
are slow
How to import JS on Backend? COMMON JS
CommonJS -> NodeJS
JavaScript Modules CommonJS
JavaScript Modules Was too popular, but how to use this
on Browser Commonjs is synchronous !!! No browser support !!! CommonJS
AMD To transfer module syntax from server usage to browser
usage, CommonJS proposed AMD - Asynchronous Module Definition
AMD But, How can I use it ?
RequireJS • Is a JavaScript module loader. • It helps
load modules asynchronously as needed • You can write AMD style module
RequireJS
Browserify • With Browserify, you can use CommonJS module in
browser application • Traverse the dependency tree of your codes and bundle them up in a single file
Browserify
ES6 Module Syntax • Browsers are not ready for this
new syntax. • There are tools available. These tools allow us to use ES6 module syntax today.
Webpack • Webpack is a module bundler. • If it
is the same as Browserify, why would we need yet another module bundler? • Webpack can handle CommonJS, AMD and ES6 modules.
The Core Concepts • Entry • Output • Loaders •
Plugins
Entry Default ./src/index.js webpack.config.js
Output Default ./dist/main.js
Loaders & Rules test A regular expression that instructs the
compiler which files to run the loader against. use An array/string/function that returns loader objects.
Chaining Loaders less-loader css-loader style-loader style.less style.css *.js Inline style
Plugins Allow you to hook into the entire compilation lifecycle
Add new instance of plugin to plugins key in config object
Using during development 1. Webpack's watch mode 2. webpack-dev-server
Webpack's Watch Mode npm run watch
webpack -dev-server webpack.config.js
webpack -dev-server package.json
Tree Shaking Dead-code elimination
Tree Shaking
Tree Shaking
Production Goal - Improve load time 1. Minified bundles 2.
Lighter weight source maps 3. Optimized assets It's recommend writing separate webpack configurations for each environment