SlideShare une entreprise Scribd logo
1  sur  10
grunt.jsのススメ

海賊 渋谷 貴裕
背景
• 近年のソーシャルゲームはリッチ化している


• いかに待ち時間を少なくユーザーに提供するかが重要


• そこでcssやjsの圧縮が高速化に貢献


    問題:CSSやjsの圧縮(難読化)をし忘れてしまう!



             自動化したい!
gruntとは
• そこでgrunt


• gruntとは…
 コマンドラインで使用するタスクベースのビルドツールのこと


• 設定ファイル上で指定したファイルに対してminifyのような
 タスクを割り当てコマンドラインから実行できる!
タスク例
難読化、SassやCoffeeScriptのコンパイル、画像最適化など…
demo
pros/cons
• cssは更新されたファイルのみ難読化してくれる(comapssのおか
  げ)


• jsは設定ファイルで切り分けてあげないと全jsファイルに圧縮が
  走ってしまう
  • 切り分けするには全jsファイルを、設定ファイルに記述しな
    ければならない
  • grunt0.4.0から「grunt.file.watchFiles」で更新があったファ
    イルを取得可能(この機能削除されました)
インストール手順
• wiki参照


• node.jsが必要


• 最近gruntからgrunt-cliに移行した


• gruntの開発速い
インストールしたモジュール
• grunt-contrib-compass
   • compassをgruntで使用するためのモジュール
   • compass→cssのフレームワークライブラリ

• grunt-contrib-uglify
   • uglify.js を用いてjsを圧縮するためのモジュール

• grunt-contrib-watch
   • 監視するためのモジュール
0.3から0.4への変更点
• 設定ファイルがgrut.jsからGruntfile.jsにリネーム
   • Gruntfile.coffeeでも大丈夫です。
• grunt.registerHelperの廃止
• grunt.registerTaskのエイリアス記法が変更
  • grunt.registerTask('default', ['jshint', 'nodeunit', 'concat']);という
    感じで、第2引数が配列になってます。
• コンフィグの記述変更
    • <config:prop.subprop> → <%= prop.subprop %>
    • <json:file.json> → grunt.file.parseJSON('file.json')
    • <file_template:file.js> →
      grunt.template.process(grunt.file.read('file.js'))
Gruntfile.js
• https://gist.github.com/4314906#file-gruntfile-js
結論
• Gruntを使えば自動でタスクを実行できる


• js全部に圧縮走ってしまう→要対応


• 開発が速いので今後の動向をチェックする必要あり


• stableな環境を求めてpackage.jsonでバージョン管理する必要あ
  り

Contenu connexe

En vedette

GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!
leverages_event
 
Yeomanについて
YeomanについてYeomanについて
Yeomanについて
jsugiyama
 

En vedette (10)

自動化ツール「Grunt.js」について
自動化ツール「Grunt.js」について自動化ツール「Grunt.js」について
自動化ツール「Grunt.js」について
 
GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!
 
WebP入門
WebP入門WebP入門
WebP入門
 
Gruntを導入しよう!の話
Gruntを導入しよう!の話Gruntを導入しよう!の話
Gruntを導入しよう!の話
 
早く家へ帰るための
Grunt入門
[+gulp紹介]
早く家へ帰るための
Grunt入門
[+gulp紹介]早く家へ帰るための
Grunt入門
[+gulp紹介]
早く家へ帰るための
Grunt入門
[+gulp紹介]
 
Yeomanについて
YeomanについてYeomanについて
Yeomanについて
 
Backbone.js入門
Backbone.js入門Backbone.js入門
Backbone.js入門
 
はじめよう Backbone.js
はじめよう Backbone.jsはじめよう Backbone.js
はじめよう Backbone.js
 
Gulp入門 - コーディングを10倍速くする
Gulp入門 - コーディングを10倍速くするGulp入門 - コーディングを10倍速くする
Gulp入門 - コーディングを10倍速くする
 
Grunt入門
Grunt入門Grunt入門
Grunt入門
 

Dernier

Dernier (11)

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

grunt.jsのススメ