Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Webpack FTW
Search
Klemens Gordon
February 25, 2016
Technology
730
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Webpack FTW
Code examples:
https://github.com/k9ordon/webpack-ftw
Klemens Gordon
February 25, 2016
More Decks by Klemens Gordon
See All by Klemens Gordon
Yo Building Progressive Framework-less Vanilla Web-applications
k9ordon
0
170
A loosely coupled front-end
k9ordon
2
640
How to hamburger
k9ordon
0
81
Javascript Event Emitter
k9ordon
0
90
responsive view - viennajs 2013-08
k9ordon
0
87
Other Decks in Technology
See All in Technology
AIコーディングはじめました
miso
0
140
データマネジメント × 法務で作りあげる、 freeeの新しいデータガバナンスへの軌跡
freee
PRO
3
690
re:Invent の去年のスケジュールを公開します!
miu_crescent
PRO
0
240
2026 Apache Flink Community Checkpoint
rmetzger
0
110
AI時代のエンジニアの情報発信〜個人の発信を組織の力に変える〜
ryo_kawamata
1
7.1k
続・ソフトウェアアーキテクトのための意思決定術: Decision Readiness, Revisited — When AI Changes the Economics of Software Architecture
snoozer05
PRO
4
1k
AI AgentによるEmbedded SREの取り組み
tgidgd
1
330
新米を「売り越さない」、Aurora DSQLで作る在庫ゼロ死守の限定ドロップEC
yama3133
0
150
re:Inventで、人生は変わったのか? / growth-builders-hub-1-reinvent-2026
mhrtech
2
280
eBPF 簡介 2026 版
shunghsiyu
0
160
素人でもできた!AIを使った短編小説創作入門
delhi09
PRO
0
300
「作れる」と「リリースできる」の間にあったもの── PdMを外して見えた、PdMがやるべき仕事/Buildable ≠ Shippable: What Removing the PM Taught Me About the PM’s Job
yappli_developers
0
440
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
22k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Site-Speed That Sticks
csswizardry
13
1.6k
ラッコキーワード サービス紹介資料
rakko
5
5.6M
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
380
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
240
A Modern Web Designer's Workflow
chriscoyier
699
190k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
450
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
550
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
Transcript
SHIPPING A FRONTEND
KLEMENS GORDON Frontend Developer karriere.at likes .JS and STUFF @thisisgordon
IRL
bundling, precompiling, transforming, factor out, extract text, code splitting, commons
chunks, post-loaders, wtf, yadda yadda yadda … to send css and js files to our friend browser.
WTf
OUR FRIEND BROWSER LIKES JS AND CSS AND ASSETS AND
STUFF
“FRONT-END OPS” 1. history of shipping frontend at karriere.at 2.
webpack examples
Browser eats Programmer programms
timetravel ...
once upon a time … ~2005 v1 - ~ 1
developer - windows xp was the hottest shit - there was no iphone - cleartype was opt in - internetexplorer ...
karriere.at v1 - 2005 shipping source files
script2.js styles.css Browser script2.js styles.css Programmer script1.js script1.js
why its bad to ship js and css as sourcefiles:
(a mvp list) - performance (requests, big files) - code gets messy - ……..............................
timetravel ...
later … ~2009 v2 - more developer (2-3) - rise
of the jquery - gui is getting more complexe (autocompletes, ajax ftw, yadda) => more frontend code
None
autocomplete.js styles.css Browser autocomplete.jquery.js styles.css Programmer jquery.js page1.js page2.js autocomplete.jquery.js
styles.css page1.min.js jquery.js load me first load me on page 2 before jquery load me on page1 load me on page2 load me everywhere compress page2.min.js
- load order - dependencies - post processing
more timetraveling
v3 … ~2013 - ~ 5 devs - even more
client app stuff - responsive - amd patterns (with curljs) - grunt.js - concat all the things - less
- @unscriptable John Hann “Introducing RaveJS”
Browser page1.less Programmer page1.js page2.css page2.js autocomplete.less autocomplete.js a/_partial.js a/_partial.css
b/_partial.js bundled: amd: page2.js page2.less autocomplete.cs autocomplete.js b/_partial.js a/_partial.less a/_partial.js core.js vendor/polyfill page1.css page1.js common.css common.js
AMD DEPENDENCIES
POST PROCESS HANDCRAFTED BUNDLES ARRAY & SINGLE MODULES
GOES OUT
- module has dependencies -> load order - browser gets
small entry files - more shared code BUT - manual concat is a pain (amd fallback) - .less and .js has separate dependency trees
v4 ~2016
None
None
None
None
1. bundle 2. the css thing 3. loaders 4. code
splitting
Installation npm install webpack -g npm install webpack-dev-server -g
module-b.js 1 Simple Bundle bundle.js contains everything module-a.js requires module
b entry.js requires module a
2 the css thing entry.js bundle.js contains everything npm i
css-loader style-loader -D entry.css module-b.css module-b.js module-a.css module-a.js
3 loaders entry.es6.js bundle.js contains everything npm i babel-loader babel-core
babel-preset-es2015 -D entry.css module-b.css module-b.es6.js module-a.css module-a.es6.js hyperlink
4 code splitting entry1.js bundle1.js npm install extract-text-webpack-plugin -D module-a.js
entry2.js module-b.js bundle2.js commons.js
more stuff: - analyse - https://webpack.github. io/analyse/ - dev server
hot module replacement - https://webpack.github.io/docs/hot- module-replacement.html - production builds
one more timetraveling
~2016 HTTP2 SHIPPING SOURCE FILES LIKE ITS 2005
None
questions?