@peccul is peccu

(love peccu '(emacs lisp cat outdoor bicycle mac linux coffee))

= Compress Javascript on Emacs

[2012-05-20 11:45:09]

はい.Quix用のブックマークレットを時々書くんですが,圧縮するのがめんどい.

もちろんEmacsからやりたくなるので,以下の設定を追加しましょう.

導入

せこいかもしれませんがquickrun使って外部コマンドに圧縮してもらいます.

  • closure-compiler持ってくる

closure-compiler - Closure Compiler (Moved to https://github.com/google/closure-compiler) - Google Project Hostingからcompiler-latest.zipをダウンロード,解凍してcompiler.jarを適当なとこにおきます.私は~/bin/におきました.

  • コマンドで呼び出せるようにします

jsCompressorってファイルをEmacsから見てパスの通ったところに作ります.内容はこんな感じ

#!/bin/sh
java -jar ~/bin/jsCompressor.jar $*

実行権限もつけましょう

% chmod +x ~/bin/jsCompressor
  • quickrun.elの設定
;; compress javascript
(quickrun-add-command "closure-compiler"
                       '((:command . "jsCompressor")
                         (:exec    . ("%c %s")))
                       :mode '(js3-mode js2-mode))
  • 使い方

js3-modeとかjs2-modeでC-u M-x quickrun呼び出す→コマンド名clozure-compilerを選べばこんな感じに圧縮してくれます.

closulre-compilerの実行かなり遅いんやけどclozureのせいなのかclozure-compilerのせいなのかわからん.だれか教えて

  • おまけ?

たぶんシェルスクリプト書かんでもquickrunの設定だけでも動くと思います.

;; compress javascript
(quickrun-add-command "closure-compiler"
                       '((:command . "java")
                         (:exec    . ("%c -jar ~/bin/jsCompressor.jar %s")))
                       :mode '(js3-mode js2-mode))

ターミナルでも使いやすいってことで許して