<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>YUI Cmpressor &#8211; Mach3.laBlog</title>
	<atom:link href="https://blog.mach3.jp/tag/yui-cmpressor/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.mach3.jp</link>
	<description></description>
	<lastBuildDate>Wed, 24 Aug 2011 02:08:06 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
	<item>
		<title>Makefile + YUI Compressor でJavaScriptファイルをコンパイルする</title>
		<link>https://blog.mach3.jp/2011/08/24/compile-js-with-make-and-yuic.html</link>
		
		<dc:creator><![CDATA[mach3]]></dc:creator>
		<pubDate>Wed, 24 Aug 2011 02:08:06 +0000</pubDate>
				<category><![CDATA[Laboratory]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[make]]></category>
		<category><![CDATA[YUI]]></category>
		<category><![CDATA[YUI Cmpressor]]></category>
		<guid isPermaLink="false">http://blog.mach3.jp/?p=1945</guid>

					<description><![CDATA[圧縮に便利なYUI Compressorですが、これは複数ファイルの取り扱いには対応していません。 そういうのはGoogle Closure Compilerが得意そうですが、小規模な開発には少々大仰かも。 そんなわけで [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>圧縮に便利な<a href="http://developer.yahoo.com/yui/compressor/">YUI Compressor</a>ですが、これは複数ファイルの取り扱いには対応していません。<br />
そういうのは<a href="http://code.google.com/intl/ja/closure/library/">Google Closure Compiler</a>が得意そうですが、小規模な開発には少々大仰かも。<br />
そんなわけで今回は、makeコマンドとYUI Compressorの連携で<br />
JSファイルをコンパイルする例に関する備忘録。</p>



<figure class="wp-block-image"><img decoding="async" src="https://lh3.googleusercontent.com/-ikIbUk2Tj48/TlReZPUa1aI/AAAAAAAABWk/iZCR_Owgiw4/201108241107.png" alt="Makefile + YUI Compressor でJavaScriptファイルをコンパイルする"/></figure>



<p></p>



<span id="more-1945"></span>



<h2 class="wp-block-heading">やりたいこと</h2>



<p>例えば、</p>



<ul class="wp-block-list">
<li>hoge.js</li>



<li>fuga.js</li>



<li>foo.js</li>



<li>bar.js</li>
</ul>



<p>という4つのJavaScriptファイルがあるとして、<br />
これらを順に結合して「main.js」として出力し、<br />
さらにそれをYUI Compressorで圧縮して「main.min.js」を出力したい。</p>



<h2 class="wp-block-heading">Makefileの例</h2>



<p>makefileの基本的な書き方は、入門的な記事がいろんな所にあるのでそちらをご参考に。<br />
上記の処理をする為のmakefileはこんな感じになります。<br />
「Makefile」という名前でJavaScriptファイルと同じディレクトリに保存しておきましょう。</p>



<p>※<a href="/2011/08/yui-compressor-in-mac.html">前記事のyuicコマンド</a>を設定してある前提です</p>


<pre class="wp-block-code"><span><code class="hljs language-xml">SRC = hoge.js fuga.js foo.js bar.js
COMBINE = main.js
COMPRESS = main.min.js

all : $(COMPRESS)

$(COMBINE) : $(SRC)
    cat $^ &gt; $@

$(COMPRESS) : $(COMBINE)
    yuic <span class="hljs-tag">&lt;<span class="hljs-name">pre</span> <span class="hljs-attr">wp-pre-tag-0</span>=<span class="hljs-string">""</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">pre</span>&gt;</span>amp;lt; &gt; $@

.PHONY: clean
clean :
    rm -f $(COMBINE) $(COMPRESS)
</code></span></pre>


<dl>
<dt>Line 1-3</dt>
<dd>結合したいファイル群と、出力用のファイル名をマクロにつっこんでおきます</dd>
<dt>Line 7-8</dt>
<dd>catコマンドで結合したいファイル群の中身をまるっと$(COMBINE)の中につっこみます<br />
$^ は依存ファイル全てを展開、$@はターゲットファイルを指します</dd>
<dt>Line 10-11</dt>
<dd>yuicコマンド（<a href="/2011/08/yui-compressor-in-mac.html">前記事参照</a>）でYUI Compressorを通して圧縮した結果を$(COMPRESS)の中に突っ込みます</dd>
<dt>Line 13-15</dt>
<dd>&#8220;make clean&#8221; で出力したファイルを削除する為の記述です<br />
$(COMBINE) と $(COMPRESS) で展開される、「main.js」と「main.min.js」を削除します</dd>
</dl>



<h2 class="wp-block-heading">で、どうするの</h2>



<h3 class="wp-block-heading">make / make all</h3>



<p>makeの使い方ですが、ターミナルでMakefileのあるディレクトリに移動し、<br />
makeコマンドを実行するだけです。<br />
あとはmakeの中の人が、main.jsとmain.min.jsを自動的に生成してくれます。</p>


<pre class="wp-block-code"><span><code class="hljs">make
</code></span></pre>


<h3 class="wp-block-heading">make clean</h3>



<p>生成したファイルを消して初期化したい場合は次のようにタイプします。</p>


<pre class="wp-block-code"><span><code class="hljs">make clean
</code></span></pre>


<h2 class="wp-block-heading">注意事項</h2>



<h3 class="wp-block-heading">環境に注意</h3>



<p>MacやLinuxならば、ターミナルでそのまま実行すればコンパイルしてくれますが、<br />
Windowsではmakeはそのままでは使えず、Cygwin等に頼る必要があります。ご注意を。</p>



<h3 class="wp-block-heading">結合するスクリプトに注意</h3>



<p>単体で読み込まなければ正常に動作しないライブラリ等も存在します。<br />
なので、結合前は動いたのにコンパイルしたら動かなくなった！なんていう事態も起こったり。<br />
闇雲に全て結合・コンパイルしてしまうのは避けたほうが良いかも。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Mac環境でのYUI Compressorの設定覚書</title>
		<link>https://blog.mach3.jp/2011/08/11/yui-compressor-in-mac.html</link>
		
		<dc:creator><![CDATA[mach3]]></dc:creator>
		<pubDate>Thu, 11 Aug 2011 05:30:24 +0000</pubDate>
				<category><![CDATA[Laboratory]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[YUI]]></category>
		<category><![CDATA[YUI Cmpressor]]></category>
		<guid isPermaLink="false">http://blog.mach3.jp/?p=1914</guid>

					<description><![CDATA[YUI CompressorにはJavaScriptファイル等の圧縮等に大変お世話になっていますが、 今回のお話はMac一年生のわたくしがYUI Compressorを手軽に使う設定をしてみた覚え書き。 ついでに言うと、 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><a href="http://developer.yahoo.com/yui/compressor/">YUI Compressor</a>にはJavaScriptファイル等の圧縮等に大変お世話になっていますが、<br />
今回のお話はMac一年生のわたくしがYUI Compressorを手軽に使う設定をしてみた覚え書き。<br />
ついでに言うと、次回の記事にちょっと話が続きます。</p>



<figure class="wp-block-image"><img decoding="async" src="https://lh5.googleusercontent.com/-T_Qfmek8qsQ/TkNou_qGE5I/AAAAAAAABVY/hzgjpud5cHo/201108111428.png" alt="Mac環境でのYUI Compressorの設定覚書"/></figure>



<p></p>



<span id="more-1914"></span>



<h2 class="wp-block-heading">とりあえずインストール</h2>



<p>とりあえずYUI Compressorをインストール<br />
というか、ダウンロードして好きなところに保存しましょう。</p>



<p>ダウンロードはこちらから。<br />
<a href="http://yuilibrary.com/downloads/#yuicompressor">YUI Library :: Downloads</a></p>



<p>MacOSならばJavaははじめから入っているのですぐに使えます。<br />
そんなわけで、早速テスト。</p>


<pre class="wp-block-code"><span><code class="hljs">java -jar /the/path/to/yuicompressor/build/yuicompressor-2.4.6.jar foo.js &gt; foo.min.js
</code></span></pre>


<p>ただ、毎回圧縮する度に長いパスを入力するのは<br />
指の体操によるボケ防止以上の価値を見いだせないので、<br />
もっと短いシンプルなコマンドで呼び出せるようにするのが今回の趣旨です。</p>



<h2 class="wp-block-heading">aliasを使う方法</h2>



<p>aliasを作ってターミナルから簡単に呼び出せるようにしておく方法。<br />
単純にターミナルから呼び出すだけならこれだけで十分ですよね。</p>



<p>例えば、こんな行を .bashrc に追記しておきます。<br />
jarファイルのパスは環境にあわせて読み替えてください。</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">alias yuic=<span class="hljs-string">"java -jar /the/path/to/yuicompressor/build/yuicompressor-2.4.6.jar "</span>
</code></span></pre>


<p>すると、yuicというコマンドを打つだけでYUI Compressorを呼び出せるようになります。<br />
こんな感じに。</p>


<pre class="wp-block-code"><span><code class="hljs language-css"><span class="hljs-selector-tag">yuic</span> <span class="hljs-selector-tag">foo</span><span class="hljs-selector-class">.js</span> &gt; <span class="hljs-selector-tag">foo</span><span class="hljs-selector-class">.min</span><span class="hljs-selector-class">.js</span>
</code></span></pre>


<p>「うごかねえぞ！？」という時は、<br />
落ち着いて静かにターミナルを再起動するか、<br />
.bashrcをsourceで実行すると解決するかもしれません。</p>


<pre class="wp-block-code"><span><code class="hljs language-css"><span class="hljs-selector-tag">source</span> <span class="hljs-selector-class">.bashrc</span>
</code></span></pre>


<h2 class="wp-block-heading">シンボリックリンクを使う方法</h2>



<p>もう一つは、ごく簡単なシェルスクリプトを用意しておいて、<br />
パスが通っている場所にシンボリックリンクを設置しておく方法。</p>



<p>例えばこんなシェルスクリプトをインストールしたディレクトリに設置して<br />
実行権限を与えておく。</p>


<pre class="wp-block-code"><span><code class="hljs">cd /the/path/to/yuicompressor/
touch yuic
chmod u+x yuic
</code></span></pre>


<p>中身はこんな感じで。パスは読み替えてください。</p>


<pre class="wp-block-code"><span><code class="hljs language-php"><span class="hljs-comment">#!/bin/sh</span>
JARFILE=<span class="hljs-string">"/the/path/to/yuicompressor/build/yuicompressor-2.4.6.jar"</span>
java -jar $JARFILE $@
</code></span></pre>


<p>あとはそのシェルスクリプトへのシンボリックリンクを、<br />
パスが通っているディレクトリ、例えば/usr/bin/等に設定してみます。</p>


<pre class="wp-block-code"><span><code class="hljs">sudo ln -s /the/path/to/yuicompressor/yuic /usr/bin/yuic
</code></span></pre>


<p>これで、上のAliasの例同様にyuicコマンドが動くようになりました。<br />
やったね！</p>



<h2 class="wp-block-heading">つづくのです</h2>



<p>alias使えば簡単なのに、なんでこんなまだるっこしいことをしているのかというと、<br />
makeから使いたかったから。 これはどうやらaliasではうまく機能しないみたいですね。</p>



<p>次回はmakeとYUI Compressorによる、<br />
JavaScriptの圧縮＋結合のお話をしたいと思います。</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
