d3.js を使用して、非常に複雑な js チャート ライブラリを作成しています。コードは複数のファイル (正確には 17 個) に編成され、各ファイルには 1 つ以上のクラスがあります。さらに、コードには、d3.js、jQuery、アンダースコアなどの複数の外部依存関係があります...
チャートをロードするには、異なるファイルを適切な順序でロードして、ファイル間の依存関係を相対的に管理する必要があります。
すべての依存関係 (内部および外部) を管理してスタンドアロン ライブラリを作成するビルド スクリプトを作成したいと考えています。私はrequirejsを知っていて、気に入っていて、使いたいと思っています。しかし、クライアント側に依存関係を追加せずにサーバー側のコードをコンパイルする方法が見つかりませんでした。
ここでの実際の目標は、1 つのファイルをロードするだけで、ライブラリを他のライブラリと同じように任意のプロジェクトで簡単に使用できるようにすることです。サーバーサイドでもライブラリを使う予定なので、node.jsにも対応してほしいです。
これは、私のコードがどのように見えるかを示す偽のコード例です。
// in file1.js
var Foo = {}
Foo.Class1 = function(params){
this.params = params;
this.bar = function(){
return this.params.bar || "bar";
}
}
// in file2.js
foo.Class2() = function(params){
$.extend(this, new Foo.Class1(params));
this.bar = function(){
return this.params.bar || "BAR";
}
}