2010-12-07 12 views
3

私は何年も前からJavaScriptを開発してきましたが、テスト、開発、ビルドのすべてについて本当に考えたことはありませんでした。私たちはちょうどリリースのタグ付けが簡単なSubversionリポジトリを使用しました(すぐにgitに切り替える)。新しいより大きい純粋なJavaScriptプロジェクト(jQueryを使用)がすぐに到着するので、私は全体のプロセスを最適化したいと思います。新しいJavaScriptプロジェクト(テスト、開発、ビルド)の開始方法は?

私はすでにいくつかの調査をしましたが、良いスタートチュートリアルは見つかりませんでした。

クラスを分割し、コードブロックをいくつかのjsファイルに分割し、大きなもの(PrototypeまたはjQueryのように)を分離することは間違いなく良い考えです。これらのjsファイルは1つのファイルに "ビルド"する必要があります。どのように達成するのですか?

私は私と私の同僚がコーディングしているものをユニットテストするのはかなり必要です。私はjs-test-driverがかなり仕事をしているように見えるEclipseプラグインを見つけました。開発者用フォルダにこれらのsrcとsrcのすべてのテストファイルが含まれている場合、ビルドプロセスでどのようにこのファイルを統合するのですか?

答えて

1

私はあなたの質問の一部にお答えします:

これらのJS-のファイルは 単一のファイルに「構築」でなければなりません。

これはサーバー側言語でのみ可能です.ASP.NETには、そのためのツールが組み込まれています。それ以外の場合は、実際の.jsファイルではなく独自の「合併」サーバーサイドファイルを作成して参照してください。

+0

[OK]を、サーバー側の建物は問題ありません - どのような "ビルド"ソフトウェアはJavaScriptプロジェクトに適していますか?私はApache AntとRakeに出くわしましたが、正直なところ、それらのどれかが便利であれば、私は実際にはわかりません。 – acme

+0

@amce私が意味するのは単純なページです。 'merger.php?files = myfile1、myfile2'これはディスクから与えられたファイルの内容を読み込み、ブラウザに書き戻します。ここには何もない。 :-) –

+0

でも、私は以下を参照しています:-)おそらく、YUI Compressorのような最適化を含むかもしれない独自のマージスクリプトを書くだけで十分かもしれません。 – acme

2

をあなたはYUI Compressorようなものを使用することができます一つのファイルにあなたのJavaScriptのすべてをマージします。最初に最小化を探し、圧縮を2番目にする必要があります。ミニマイザーはファイルを取り込み、それらをマージして空白を取り除きます。コンプレッサーは、変数名を変更したり、不要なコードを削除したりすることによって、実際にjsを最適化しようとします。

ユニットテストの場合、私はあなたがそれをしたいと思っているのか分かりません。そこにはいくつかのユニットテストライブラリがあります。テストのための一般的なツールはSeleniumです。私は現在ユニットテストをしていませんので、私の所在はわかりません。

コードを設定するには、いつもExtJSやJavaScriptMVCのようなJavaScriptフレームワークを使用します。それらは適切な方法でコードを設定するのに役立ちます。また、適切な標準とコーディング構造にチームを集中させ、多くのコードを記述して、ホイールを再発明する必要はありません。

編集:思った後すぐに。 JavaScriptフレームワークを使用したくない場合でも、ExtJSのようなコードをチェックして、コードを整理する方法と、それをきれいにするためのトリックを確認することをお勧めします。

+0

はい、既にいくつかのJavaScriptプロジェクトを試してみました(Prototype、TinyMCE)。 – acme

+1

@acme:Prototypeは技術的にはJavaScriptライブラリであり、フレームワークではありません。 Prototypeはヘルパー機能をバンドルしてJavaScriptのプログラミングを容易にする一方で、ExtJSはJavaScriptフレームワークであり、完全なJavaScriptアプリケーションを構築するために作られています。 ExtJSは、Model View Controllerアーキテクチャ、名前空間、クラスの拡張/上書きなどの機能を利用します。 Prototype、jQuery、Mootools、Dojoは偉大なライブラリですが、それらはライブラリです。 – FallenRayne

1

これらのjsファイルは、1つのファイルに "ビルド"する必要があります。どのように達成するのですか?

ファイルはバージョン管理で別々にしておき、ビルドプロセス中にそれらをマージするだけです。

YUI compressor mentioned elsewhereは、マージするだけでなく、もちろんJavaベースのツールです。 - ダウンロードを高速化するためにファイルを圧縮します。

シンプルなPerlまたはbashスクリプト(または他の優先スクリプト言語)を複数の.jsファイルを連結して1つのリリースにすることができます - ビルドスクリプトがすべてのHTMLも更新することを確認してください単一のページだけを参照するリリースで。

関連する問題