hello-world
webエンジニアのメモ。とりあえずやってみる。

[ruby][js]closure-compiler gemを使う

公開日時

jsの圧縮にはclosure-compilerを使うといいというのをチラホラ聞いてはいたのですが、これまで使ったことがなく。

調べていたらgemとしてclosure-compilerが公開されていたので試してみました。

documentcloud / closure-compiler

  • インストール
gem install closure-compiler
rbenv rehash
  • ドキュメントを見ながらsample.jsを圧縮するスクリプトを作成
# compile.ru
require 'rubygems'
require 'closure-compiler'

name = 'sample'
File.open("./public/js/#{name}.min.js", 'wb') do |output|
  output.write Closure::Compiler.new.compile(File.open("public/js/#{name}.js", 'r'))
end
  • 実行
ruby compile.ru

実行後、public/js/sample.js から public/js/sample.min.js が生成されます。

2015/6/26追記

Yosemiteにしてから上記を試そうとしたら、以下のように「このWebコンテンツを表示するには、Java Runtime Environmentをインストールする必要があります。」とエラーになってしまいました。

java

YosemiteにはそもそもJavaが含まれていないということが分かったので、 Apple公式サイト(Java for OS X 2014-001)からJavaをダウンロードしてインストールしました。

しかし、インストール自体はできたのですが、ruby compile.rbを実行すると Unsupported major.minor version 51.0 とまたもやエラーになってしまいました。

最終的に、 Oracleの公式サイト(Java SE Development Kit 8 - Downloads)から最新版のJDKをダウンロードしてきてインストールしたら動きました。


Related #js

[js]iPhoneの「ホーム画面追加」を促すポップアップを表示する

先日公開した「 平成アイコン」に 「ホーム画面追加」を促すポップアップを表示してみました。

スマホで鳴らせる「除夜の鐘」サイトを作りました

今日は大晦日ですね。ということで 先日、チラッとご紹介した「煩悩API」を使ったサイトを作ってみました。

[js][bootstrap]bootstrap-sliderを使ってスライダーをつくる

TwitterBootstrapを使っていた際に、スライダーで音量調節ができるようにしようと思ったのですが公式ドキュメントを見ても見つからず、調べていたら bootstrap-sliderというライブラリを発見 サンプルにもありますが、

CoffeeScriptでカウントダウンタイマーを作ってみる

参考URLに記載されていたjsのカウントダウンタイマーをCoffeeScriptで書いてみました。