メンテナブルJavaScript 第III部 自動化より
さてさて、どんどん面白くなってきております、この本。
ついに自動化の章までやってきました。
正直、JSに自動化なんぞやー?というレベルの私にはもってこいの内容でした。
生まれて初めて図書館で2時間集中してしまいました。珍しい…
というのも、返却日だったんですよね。返却日駆動おすすめですが、途中でタイムアップという残念な結果になりました。だだんッ!
さて、今回も覚え書きを残しておきます。
13章 ファイルとディレクトリの構成
13.1 best practice
- 1オブジェクト1ファイル
- 関連するファイルをディレクトリに集める
- サードパーティのコード分離
チェックインせずにCDNから直接ロードするほうが理想的な設定
できない場合は、サードパーティのファイルをソースコントロール内の別ディレクトリに保持するのがベストなアプローチ - ビルドの位置を決める
- テストコードを密に対応つける
リントかわいいよ、リント http://csslint.net/
14章 Ant
ant
- macの場合標準搭載
お、おう - 起動には、 build.xml が必須
お、おう
サンプル
<?xml version="1.0" encoding="UTF-8"?> <project name="maintainablejs" default="hello"> <target name="hello"> <echo>Hello world!</echo> </target> <target name="goodby" depends="hello"> <echo>Goodbye!</echo> </target> </project>
実行 $ ant goodby
Javaのプロパティファイルで定義しておき、Antに直接ロードさせることもできる
そうだね、よく見るね。
14.6 Buildr
https://github.com/nzakas/buildr
<import file="/path/to/buildr/buildr.xml" />
これを定義しておけば、antタスクを簡単な構文で集められるようになる
15章 バリデーション
- JSHintを開発システムに取り入れて、JSコードを自動的に分析検証する方法
JSソースを読み込む方法
// 除外したいファイルパターンを指定することもできる
<fileset dir="./src" includes="**/*.js" excludes="**/*-test.js" />
filelistもあるが、実際はfilesetのほうが使うようになるとのことです。
15.2 タスク
これを定義しておけば、antタスクを簡単な構文で集められるようになる
必要なツール
Rhinoをダウンロードする
- https://developer.mozilla.org/ja/docs/Rhino
- http://www.mozilla-japan.org/rhino/download.html
jsHintをダウンロードする
https://github.com/jshint/jshint
16章 ファイルの連結
antだったら簡単に複数のjsファイルをまとめて一つにすることも可能
ただし、何も指定しなければABC順なので、変えたい場合は明示する必要あり
<target name="concatenate"> <concat destfile="${build.dir}/build.js"> <fileset dir="${src.dir}" includes="**/*.js" /> </concat> </target>
可能な限り、filesetで指定することをお勧めする
16.2 行末
- 連結の時に最終行に改行がないと、うまく結合されない。
- そんなときにはオプションを指定すれば一発!
- オプション eolで改行記号を変えることも
<concat destfile="${build.dir}/build.js" fixlastline="yes" eol="lf"> <fileset dir="${src.dir}" includes="**/*.js" /> </concat>
TIME UP
続きはまたどこかで行いますです。
ぬーん、ごめんなさいごめんなさい。
関連エントリ
- メンテナブルJavaScriptまとめ この本に紹介されているツールを全てまとめました。
この本
メンテナブルJavaScript ―読みやすく保守しやすいJavaScriptコードのための作法
- 作者: Nicholas C. Zakas,豊福剛
- 出版社/メーカー: オライリージャパン
- 発売日: 2013/03/06
- メディア: 大型本
- 購入: 7人 クリック: 31回
- この商品を含むブログ (7件) を見る