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]AmzonとGoogleのSuggest APIを使ってみる

クラスメソッドさんの「 Alfred の Google Suggest を日本語モードにする | Developers.IO」の記事を読んでいて、Alfred Workflowにサジェスト機能を使った検索のサンプルがあることを知りました。

ES6(ES2015)の基本文法を学ぶ

以前jaws-frameworkで作成したAPIがあるのですが、 serverlessが登場したので移行を兼ねてES6で書きなおしてみようと思っています。

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

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

[js][twitter]ツイートボタンを使って「つぶやきが完了したら○○する」ができるか検証してみた

ツイートボタンを使って「つぶやきが完了したら○○する」というのができるか検証してみました。