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
Front-End workflows
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Cesar
October 03, 2015
Technology
0
91
Front-End workflows
Cesar
October 03, 2015
Tweet
Share
More Decks by Cesar
See All by Cesar
Webpack
cesar2535
1
460
CSS Layout w/ HTML5 & CSS3
cesar2535
2
100
Other Decks in Technology
See All in Technology
バクラクのSREにおけるAgentic AIへの挑戦/Our Journey with Agentic AI
taddy_919
2
1.1k
オンプレとGoogle Cloudを安全に繋ぐための、セキュア通信の勘所
waiwai2111
3
1.1k
情シスのための生成AI実践ガイド2026 / Generative AI Practical Guide for Business Technology 2026
glidenote
0
100
[JAWS DAYS 2026]私の AWS DevOps Agent 推しポイント
furuton
0
120
DevOpsエージェントで実現する!! AWS Well-Architected(W-A) を実現するシステム設計 / 20260307 Masaki Okuda
shift_evolve
PRO
3
300
kintone開発のプラットフォームエンジニアの紹介
cybozuinsideout
PRO
0
840
Ultra Ethernet (UEC) v1.0 仕様概説
markunet
3
230
生成AIの利用とセキュリティ /gen-ai-and-security
mizutani
1
1.4k
DX Improvement at Scale
ntk1000
3
390
楽しく学ぼう!コミュニティ入門 AWSと人が つむいできたストーリー
hiroramos4
PRO
1
160
8万デプロイ
iwamot
PRO
2
200
[AEON TECH HUB #24] お客様の長期的興味の理解に向けて
alpicola
0
120
Featured
See All Featured
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
64
53k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
SEO for Brand Visibility & Recognition
aleyda
0
4.3k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
250
Why Our Code Smells
bkeepers
PRO
340
58k
Docker and Python
trallard
47
3.8k
Tell your own story through comics
letsgokoyo
1
830
My Coaching Mixtape
mlcsv
0
67
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
210
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Embracing the Ebb and Flow
colly
88
5k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
770
Transcript
F R O N T- E N D W O
R K F L O W S C E S A R C H E N
O u r t o o l s l a
n d s c a p e i s g e t t i n g m o re c o m p l e x .
Boilerplate Frameworks Testing Dependency management Version Control Deployment Performance optimization
Docs Build Continuous Integration Abstractions Workflow
None
A S Y O U K N O W… “Time”
is a key factor in staying productive.
None
The average front-end workflow today S E T U P
D E V E L O P B U I L D
S E T U P Scaffolding Download libraries Download templates
Download frameworks
D E V E L O P Watch Sass /
Less / Stylus Watch ES6 / CoffeeScript Watch HTML / Jade / Haml LiveReload JS / CSS Linting
B U I L D Code linting Running unit tests
Compile everything Minify & concatenate Generate images / icons Optimize performance HTTP Server Deployment
A U T O M A T E T H
I S W O R K F L O W F O R A L L T Y P E S O F P R O J E C T
B U I L D T O O L S
There are so many tools. Just choose what you wants.
B U I L D T O O L S
Webpack Gulp NPM
N O D E PA C K A G E
S M A N A G E R
var path = require(‘path’); var gulp = require(‘gulp’); var webpack
= require(‘webpack’);
I N S TA L L M O D U
L E S $ npm install module-name $ npm install —save module-name
I N S TA L L M O D U
L E S
PA C K A G E . J S O
N { “name”: “project-name”, “version”: “0.0.0”, “dependencies: { “gulp”: “^3.9.0”, “webpack”: “^1.11.0” } }
None
G U L P • A build system • A
task runner • A workflow automator
W H Y G U L P ? • Smaller,
more efficient plug-ins • Built-in file watching functionality • JavaScript Configuration files • Streams
I N S TA L L $ npm install -g
gulp
G U L P F I L E . J
S var gulp = require(‘gulp’); gulp.task(‘task-name’, function() { … }); gulp.task(‘default’, [‘task-name’]);
G U L P F I L E . J
S $ gulp task-name
G U L P A P I gulp.task gulp.src gulp.dest
gulp.watch
S O U R C E gulp.task(‘task-name’, function() { return
gulp.src(‘./src/js/*.js’) .pipe(…); });
D E S T I N AT I O N
gulp.task(‘task-name’, function() { return gulp.src(‘./src/js/*.js’) .pipe(…) .pipe(gulp.dest(‘./build’); });
D E S T I N AT I O N
gulp.task(‘task-name’, function() { gulp.watch(‘./src/js/**’, [‘build-task’]); });
U S E F U L P L U G
I N S F O R G U L P gulp-concat gulp-uglify gulp-rename gulp-util browser-sync
P L U G I N S var concat =
require(‘gulp-concat’); var rename = require(‘gulp-rename’); gulp.task(‘task-name’, function() { return gulp.src(‘./src/js/*.js’) .pipe(concat(‘app.js’)) .pipe(rename({ suffix: ‘.min’} .pipe(gulp.dest(‘./build’); });
None
Q U E S T I O N ?
M O D U L E B U N D
L E R
Before we do that … There were something you remembered
<script src=“app.js”></script> <script src=“jquery.min.js></script> Uncaught Referencer Error: jQuery is not
defined.
WHAT?
<script src=“jquery.min.js></script> <script src=“app.js”></script>
<script src=“jquery.min.js></script> <script src=“angular.min.js”</script> <script src=“bootstrap.min.js”</script> <script src=“slick.min.js”</script> <script src=“angular-slick.js”</script>
<script src=“…”</script> <script src=“…”</script> <script src=“…”</script> <script src=“…”</script> <script src=“…”</script> <script src=“app.js”></script>
http://webpack.github.io/
B A S I C U S A G E
C O N F I G U R AT I
O N C L I & w e b p a c k . c o n f i g . j s
None
L O A D E R S preprocess files
P L U G I N S
H O T M O D U L E R
E P L A C E M E N T http://webpack.github.io/docs/hot-module-replacement-with-webpack.html
H O T M O D U L E R
E P L A C E M E N T Entry webpack-dev-server/client?http://localhost:3000 webpack/hot/only-dev-server Plugins new webpack.HotModuleReplacementPlugin()
W E B PA C K - D E V-
S E R V E R
None
Q U E S T I O N ?
M O R E … • NPM • https://www.npmjs.com/ •
Gulp • http://gulpjs.com/ • https://scotch.io/tutorials/automate-your-tasks-easily-with- gulp-js • http://leveluptuts.com/tutorials/learning-gulp • Webpack • https://webpack.github.io/ • https://github.com/petehunt/webpack-howto
T H A N K