Submit Search
Upload
High Performance Gulp
•
19 likes
•
13,007 views
Keisuke Imura
Follow
WP-D Fes #03で使用したスライドです。
Read less
Read more
Report
Share
Report
Share
1 of 33
Download now
Download to read offline
Recommended
今すぐブラウザでES6を使おう
今すぐブラウザでES6を使おう
Hayashi Yuichi
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点
Jun-ichi Sakamoto
Angular js はまりどころ
Angular js はまりどころ
Ayumi Goto
C# で Single Page Web アプリを開発できる Blazor ― その魅力
C# で Single Page Web アプリを開発できる Blazor ― その魅力
Jun-ichi Sakamoto
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
Jun-ichi Sakamoto
One-time Binding & $digest
One-time Binding & $digest
Hayashi Yuichi
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
Y Watanabe
AndroidアプリをTravis CIでビルド
AndroidアプリをTravis CIでビルド
Kiwamu Okabe
Recommended
今すぐブラウザでES6を使おう
今すぐブラウザでES6を使おう
Hayashi Yuichi
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点
Jun-ichi Sakamoto
Angular js はまりどころ
Angular js はまりどころ
Ayumi Goto
C# で Single Page Web アプリを開発できる Blazor ― その魅力
C# で Single Page Web アプリを開発できる Blazor ― その魅力
Jun-ichi Sakamoto
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
Jun-ichi Sakamoto
One-time Binding & $digest
One-time Binding & $digest
Hayashi Yuichi
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
20130511 jjug ccc講演 さらばjsp JAXBとmixer2
Y Watanabe
AndroidアプリをTravis CIでビルド
AndroidアプリをTravis CIでビルド
Kiwamu Okabe
chat bot framework for Java8
chat bot framework for Java8
masahitojp
S14 t3 yosuke_yamashita
S14 t3 yosuke_yamashita
Takeshi Akutsu
普段Reactを触ってる僕が Angularを触ってみた感想を共有する
普段Reactを触ってる僕が Angularを触ってみた感想を共有する
kazuki matsumura
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう
Horiguchi Seito
今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman
tomo_masakura
201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園
201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園
Y Watanabe
AngularJSの高速化
AngularJSの高速化
Kon Yuichi
jQueryを中心としたJavaScript
jQueryを中心としたJavaScript
hideaki honda
Learning jQuery
Learning jQuery
taiju higashi
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hong Chen
RailsでReact.jsを動かしてみた話
RailsでReact.jsを動かしてみた話
yoshioka_cb
gulp芸
gulp芸
Yuki Ishikawa
JavaScriptと共に歩いて行く決意をした君へ
JavaScriptと共に歩いて行く決意をした君へ
Muyuu Fujita
Alt01-LT
Alt01-LT
Yuta Hiroto
Vue.js with Go
Vue.js with Go
Kazuhiro Kubota
ReactでCMSを作ったときにハマったこと
ReactでCMSを作ったときにハマったこと
kazuki matsumura
React Redux Redux-Saga + サーバサイドレンダリング
React Redux Redux-Saga + サーバサイドレンダリング
エンジニア勉強会 エスキュービズム
Blazor 触ってみた
Blazor 触ってみた
Oda Shinsuke
AngularJSでの非同期処理の話
AngularJSでの非同期処理の話
Yosuke Onoue
Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜
Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜
Erina Takei
イチから学ぶ パッケージマネージャーとLAMP環境
イチから学ぶ パッケージマネージャーとLAMP環境
Keisuke Imura
Sass + Foundation 5でレスポンシブペライチ制作
Sass + Foundation 5でレスポンシブペライチ制作
Keisuke Imura
More Related Content
What's hot
chat bot framework for Java8
chat bot framework for Java8
masahitojp
S14 t3 yosuke_yamashita
S14 t3 yosuke_yamashita
Takeshi Akutsu
普段Reactを触ってる僕が Angularを触ってみた感想を共有する
普段Reactを触ってる僕が Angularを触ってみた感想を共有する
kazuki matsumura
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう
Horiguchi Seito
今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman
tomo_masakura
201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園
201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園
Y Watanabe
AngularJSの高速化
AngularJSの高速化
Kon Yuichi
jQueryを中心としたJavaScript
jQueryを中心としたJavaScript
hideaki honda
Learning jQuery
Learning jQuery
taiju higashi
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hong Chen
RailsでReact.jsを動かしてみた話
RailsでReact.jsを動かしてみた話
yoshioka_cb
gulp芸
gulp芸
Yuki Ishikawa
JavaScriptと共に歩いて行く決意をした君へ
JavaScriptと共に歩いて行く決意をした君へ
Muyuu Fujita
Alt01-LT
Alt01-LT
Yuta Hiroto
Vue.js with Go
Vue.js with Go
Kazuhiro Kubota
ReactでCMSを作ったときにハマったこと
ReactでCMSを作ったときにハマったこと
kazuki matsumura
React Redux Redux-Saga + サーバサイドレンダリング
React Redux Redux-Saga + サーバサイドレンダリング
エンジニア勉強会 エスキュービズム
Blazor 触ってみた
Blazor 触ってみた
Oda Shinsuke
AngularJSでの非同期処理の話
AngularJSでの非同期処理の話
Yosuke Onoue
Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜
Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜
Erina Takei
What's hot
(20)
chat bot framework for Java8
chat bot framework for Java8
S14 t3 yosuke_yamashita
S14 t3 yosuke_yamashita
普段Reactを触ってる僕が Angularを触ってみた感想を共有する
普段Reactを触ってる僕が Angularを触ってみた感想を共有する
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう
今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman
201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園
201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園
AngularJSの高速化
AngularJSの高速化
jQueryを中心としたJavaScript
jQueryを中心としたJavaScript
Learning jQuery
Learning jQuery
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App Inventor
RailsでReact.jsを動かしてみた話
RailsでReact.jsを動かしてみた話
gulp芸
gulp芸
JavaScriptと共に歩いて行く決意をした君へ
JavaScriptと共に歩いて行く決意をした君へ
Alt01-LT
Alt01-LT
Vue.js with Go
Vue.js with Go
ReactでCMSを作ったときにハマったこと
ReactでCMSを作ったときにハマったこと
React Redux Redux-Saga + サーバサイドレンダリング
React Redux Redux-Saga + サーバサイドレンダリング
Blazor 触ってみた
Blazor 触ってみた
AngularJSでの非同期処理の話
AngularJSでの非同期処理の話
Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜
Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜
Viewers also liked
イチから学ぶ パッケージマネージャーとLAMP環境
イチから学ぶ パッケージマネージャーとLAMP環境
Keisuke Imura
Sass + Foundation 5でレスポンシブペライチ制作
Sass + Foundation 5でレスポンシブペライチ制作
Keisuke Imura
Twenty Fourteen徹底解剖! ~デフォルトテーマに学ぶ今ドキテーマの作り方~
Twenty Fourteen徹底解剖! ~デフォルトテーマに学ぶ今ドキテーマの作り方~
Keisuke Imura
Foundation for Appsでザクザク作るモックアップ
Foundation for Appsでザクザク作るモックアップ
Keisuke Imura
僕が作ってきたWebサービス追悼式 #NGK2012B
僕が作ってきたWebサービス追悼式 #NGK2012B
ryuichiro ryuichiro
HTML5マークアップの心得と作法
HTML5マークアップの心得と作法
Futomi Hatano
60点をとれるWebデザイン
60点をとれるWebデザイン
Keisuke Imura
デザイナーとエンジニアのコミュニケーションについて考えてみた
デザイナーとエンジニアのコミュニケーションについて考えてみた
Reimi Kuramochi Chiba
テクニカルクリエイターの憂鬱
テクニカルクリエイターの憂鬱
Keisuke Imura
フリー3ヶ月目で思う、2年後稼げるWebデザイナー像
フリー3ヶ月目で思う、2年後稼げるWebデザイナー像
Keisuke Imura
イマドキWebメディアの制作手法
イマドキWebメディアの制作手法
Keisuke Imura
Laravel5.1 Release
Laravel5.1 Release
Yuuki Takezawa
php開発で使うタスクランナー gulp
php開発で使うタスクランナー gulp
Yuuki Takezawa
イマドキのコーダー環境構築2016
イマドキのコーダー環境構築2016
Sou Lab
いい感じのフロントエンド開発環境を作ってみた
いい感じのフロントエンド開発環境を作ってみた
Hayashi Yuichi
Gulp入門 - コーディングを10倍速くする
Gulp入門 - コーディングを10倍速くする
Hayashi Yuichi
Viewers also liked
(16)
イチから学ぶ パッケージマネージャーとLAMP環境
イチから学ぶ パッケージマネージャーとLAMP環境
Sass + Foundation 5でレスポンシブペライチ制作
Sass + Foundation 5でレスポンシブペライチ制作
Twenty Fourteen徹底解剖! ~デフォルトテーマに学ぶ今ドキテーマの作り方~
Twenty Fourteen徹底解剖! ~デフォルトテーマに学ぶ今ドキテーマの作り方~
Foundation for Appsでザクザク作るモックアップ
Foundation for Appsでザクザク作るモックアップ
僕が作ってきたWebサービス追悼式 #NGK2012B
僕が作ってきたWebサービス追悼式 #NGK2012B
HTML5マークアップの心得と作法
HTML5マークアップの心得と作法
60点をとれるWebデザイン
60点をとれるWebデザイン
デザイナーとエンジニアのコミュニケーションについて考えてみた
デザイナーとエンジニアのコミュニケーションについて考えてみた
テクニカルクリエイターの憂鬱
テクニカルクリエイターの憂鬱
フリー3ヶ月目で思う、2年後稼げるWebデザイナー像
フリー3ヶ月目で思う、2年後稼げるWebデザイナー像
イマドキWebメディアの制作手法
イマドキWebメディアの制作手法
Laravel5.1 Release
Laravel5.1 Release
php開発で使うタスクランナー gulp
php開発で使うタスクランナー gulp
イマドキのコーダー環境構築2016
イマドキのコーダー環境構築2016
いい感じのフロントエンド開発環境を作ってみた
いい感じのフロントエンド開発環境を作ってみた
Gulp入門 - コーディングを10倍速くする
Gulp入門 - コーディングを10倍速くする
Similar to High Performance Gulp
「Webサービスのつくり方」 のつくり方
「Webサービスのつくり方」 のつくり方
Yusuke Wada
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
Yuta Matsumura
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
Yasuhito Yabe
Web matrix2とvisual studio
Web matrix2とvisual studio
Tadahiro Ishisaka
徳島OSS勉強会第四回 シラサギハンズオン 0925
徳島OSS勉強会第四回 シラサギハンズオン 0925
Yu Ito
2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門
miso- soup3
SharePoint Framework Extension 基礎講座
SharePoint Framework Extension 基礎講座
Hiroaki Oikawa
WordPressのオススメスライドとか記事とか集めました。(2012.10.13 WordBench神戸)
WordPressのオススメスライドとか記事とか集めました。(2012.10.13 WordBench神戸)
Takashi Uemura
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
Issei Hiraoka
Rails初心者レッスン lesson3 3edition
Rails初心者レッスン lesson3 3edition
Satomi Tsujita
Javaな人が気を付けるべきJavaScriptコーディングスタイル
Javaな人が気を付けるべきJavaScriptコーディングスタイル
Maaya Ishida
スマホにおけるWebGL入門
スマホにおけるWebGL入門
Yohta Kanke
WordPressで作るポートフォリオサイト
WordPressで作るポートフォリオサイト
Takuma Nishiyama
AMD basic and practice
AMD basic and practice
Masakazu Muraoka
About rails 3
About rails 3
issei126
SocketStream入門
SocketStream入門
Kohei Kadowaki
名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例
名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例
Shigeru UCHIYAMA
Server side Swift & Photo Booth
Server side Swift & Photo Booth
LINE Corporation
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
Yu Nobuoka
Aizu.LT::Tokyo #4
Aizu.LT::Tokyo #4
Taku Unno
Similar to High Performance Gulp
(20)
「Webサービスのつくり方」 のつくり方
「Webサービスのつくり方」 のつくり方
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
Web matrix2とvisual studio
Web matrix2とvisual studio
徳島OSS勉強会第四回 シラサギハンズオン 0925
徳島OSS勉強会第四回 シラサギハンズオン 0925
2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門
SharePoint Framework Extension 基礎講座
SharePoint Framework Extension 基礎講座
WordPressのオススメスライドとか記事とか集めました。(2012.10.13 WordBench神戸)
WordPressのオススメスライドとか記事とか集めました。(2012.10.13 WordBench神戸)
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
Rails初心者レッスン lesson3 3edition
Rails初心者レッスン lesson3 3edition
Javaな人が気を付けるべきJavaScriptコーディングスタイル
Javaな人が気を付けるべきJavaScriptコーディングスタイル
スマホにおけるWebGL入門
スマホにおけるWebGL入門
WordPressで作るポートフォリオサイト
WordPressで作るポートフォリオサイト
AMD basic and practice
AMD basic and practice
About rails 3
About rails 3
SocketStream入門
SocketStream入門
名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例
名古屋Ruby会議01 A3.製造業向け3Dデータ変換ソリューションにおけるRuby活用事例
Server side Swift & Photo Booth
Server side Swift & Photo Booth
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
Aizu.LT::Tokyo #4
Aizu.LT::Tokyo #4
High Performance Gulp
1.
2.
井村 圭介 KEISUKE IMURA ファンタラクティブ株式会社
CEO / デザイナー / エンジニア フリーランスを経てWeb制作会社を設立。CMS案件やWebサービス開発に多数関わる。 Webに関することならデザイン・フロントエンド・バックエンドと幅広くこなすオール ラウンダー。2015年はDjangoを使った自社サービスを開発中。
3.
デザイン、フロントエンド、WordPressを中心としたCMS 構築などWeb制作全般を行なっています。 2週間に1度、ファンタラクティブ・オープンミーティン グを開催中。 https://funteractive.co.jp/
4.
株式会社LiB チーフデザイナー WordBench東京モデレータ 書籍の執筆、登壇などもしています
5.
極度にフロントエンドに偏った内容です。 過度な期待はしないでください。 WARNING!!
6.
入力 処理 出力 gulpの基本
7.
入力 gulp.src .pipe gulp.dest 処理 プラグイン Node.js
パッケージ オリジナルタスク 出力 gulpの基本
8.
gulpfile.jsの例 // モジュールの読み込み var
gulp = require('gulp'); var csso = require('gulp-‐csso'); // $ gulp cssminコマンドで実行するタスクの登録 gulp.task('cssmin', function() { gulp.src('app.css') // 入力ファイル .pipe(csso()) // 処理をpipeで記述 .pipe(gulp.dest('app.min.css')); // 出力ファイル });
9.
gulp-load-pluginsが便利 // モジュールの読み込み var
gulp = require('gulp'); var gulpLoadPlugins = require('gulp-‐load-‐plugins')({ pattern: ['gulp-‐*', 'gulp.*'] }); // $ gulp cssminコマンドで実行するタスクの登録 gulp.task('cssmin', function() { gulp.src('app.css') // 入力ファイル .pipe(gulpLoadPlugins.csso()) // 処理をpipeで記述 .pipe(gulp.dest('app.min.css')); // 出力ファイル });
10.
入力 処理 出力 色々な処理をgulpを通して実行
11.
• 実行手順の自動化 • 実行手順の一元化
/ 単純化 gulpを通して実行するメリット
12.
やりたいことがたくさん!
13.
HTMLをパーツ化して読み込みたい SCSS使いたい 脱compass foundation大好き! Bowerでライブラリ管理したい(若干滅びそうな雰囲気あるけど) かっこ良くて見やすいスタイルガイド作りたい レスポンシブ実機で確認しながら進めたい JSモジュール化したい スプライト画像の生成やサイズ縮小は勝手にやって欲しい WordPressテーマにも使いたい
14.
foundation-start-kit https://github.com/funteractive/foundation-start-kit できました!
15.
require npm install bower install @include gulp-jade
browserify gulp.spritesmith BrowserSync jade scss app.js bower_components └─ foundation node_modules sprite/*.png 触るファイル 出力されるファイル html style.css styleguide build.js sprite.png gulp-ruby-sass gulp-kss
16.
• BowerでFoundation 5をインストール •
KSSでスタイルガイド作成 • BrowserifyでJSを結合 gulpで楽にしているポイント
17.
Foundationの設定ファイルをコピー bower_components └─ foundation └─ scss ├─
foundation.scss └─ foundation └─ _settings.scss shared └─ scss └─ core ├─ _foundation.scss └─ __settings.scss コピーBower でインストール コピー
18.
Foundationの設定ファイルをコピー // Foundationのファイルをコピー gulp.task('copy:foundation', function()
{ return gulp.src([ foundationScssPath + 'foundation.scss', foundationScssPath + 'foundation/_settings.scss' ]) .pipe(gulpLoadPlugins.rename({ prefix: '_' })) .pipe(gulp.dest(scssPath + 'core/')); });
19.
他のファイルはbower_componentsから直接読み込む gulp.task('sass', function() { return
gulpLoadPlugins.rubySass(scssPath, { loadPath: [bowerPath + 'foundation/scss'], style: 'nested', bundleExec: false, require: 'sass-globbing', sourcemap: false }) .pipe(gulp.dest(cssPath)); });
20.
gulp-kssでスタイルガイドをコマンド一発で作成 styleguide ├─ styleguide.md ├─ template ├─
public ├─ index.html ├─ section-1.html └─ section-2.html shared └─ scss └─ module ├─ _hoge.scss └─ _fuga.scss 生成 生成 $ gulp styleguide
21.
22.
minimal-kss-node-template https://github.com/funteractive/minimal-kss-node-template シンプルなkss-nodeテンプレート配布してます。
23.
css(scss)のコメントとしてスタイルガイドを記述 // Button // // Your
standard button suitable for clicking. // // Markup: <a href="#" class="button {$modifiers}">CLICK</a> // // :hover - Highlights when hovering. // .shiny - Do not press this big, shiny, red button. // // Style guide 1 .button { ... } .button.shiny { ... }
24.
// KSSでスタイルガイドを生成するタスク gulp.task('styleguide', function()
{ // CSSをスタイルガイド内にコピー gulp.src(cssPath + 'style.css') .pipe(gulp.dest(styleGuidePath)); // スタイルガイドを生成 gulp.src([scssPath + '*.scss', scssPath + '**/*.scss']) .pipe(gulpLoadPlugins.kss({ overview: styleGuidePath + 'styleguide.md', templateDirectory: styleGuidePath + 'template/' })) .pipe(gulp.dest(styleGuidePath)); }); gulp-kssでスタイルガイドをコマンド一発で作成
25.
BrowserifyでJSを結合 Bower でインストール npm でインストール オリジナルで制作 bower_components └─
packages... node_modules └─ packages... shared └─ js ├─ package.js ├─ app.js └─ build.js 生成 require
26.
var browserify
= require('browserify'); var buffer = require('vinyl-‐buffer'); var source = require('vinyl-‐source-‐stream'); gulp.task('js', function() { browserify(jsPath + 'src/app.js') .bundle() .pipe(source('build.js')) .pipe(buffer()) .pipe(gulpLoadPlugins.uglify()) .pipe(gulp.dest(jsPath)); }); BrowserifyでJSを結合
27.
var jQuery =
require('jquery'); (function($) { $(document).ready(function() { $('#hello').text('hello'); }); })(jQuery); app.jsの例
28.
Jasmine & Karmaでテスト回したい やりたいけどやれてないこと
29.
gulpfileにタスクを追加するときの思考 1. 目的に合ったgulpプラグインがあるか探す 2. 目的に合ったnpmパッケージがあるか探す 3.
何もなければ自分で書く
30.
gulp単体で価値はない
31.
gulpfileは何をどの順番で動かすかの 仕様書みたいなもの
32.
やりたいこと全部書こう!
33.
Let’s try writing
your own gulpfile.js!!
Download now