パッケージを必要とする 1 つのメイン モジュールで構成されるアプリ レイアウトを作成したいと考えています。各パッケージ (メイン モジュールを含む) には、サード パーティのライブラリや他のローカル パッケージへの独自の依存関係があります。したがって、各パッケージの main.js には、次のような require.config セクションがあります。
require.config({
packages: ["package2"],
context: 'package1',
shim: {
'underscore': {
exports: '_'
}
},
paths: {
underscore: '../lib/underscore-1.4.3'
}
});
ご覧のとおり、構成はパスとパッケージを定義します。最上位の main.js は次のようになります。
require.config({
packages: ["package1"]
});
プロジェクトには次のようなディレクトリ構造があります...
├── package1
│ ├── package1.jade
│ ├── package1.js
│ └── main.js
├── lib
│ ├── backbone-0.9.10.js
│ └── underscore-1.4.3.js
├── package2
│ ├── package2.js
│ ├── main.js
└── main.js
目標は、モジュールだけでなく、パッケージとページが依存できる「パッケージ」のセットを持つことができるようにすることです。完璧な作業では、プロジェクトの依存関係グラフは次のようになります。
+------------+ +-------------+
| package1 +--+ +--+ package2 +--+
+------------+ | | +-------------+ |
| | |
v v v
+--------------+ +--------------+
| package3 | | package4 |
+----------+---+ +--------------+
|
| +-------------+
+------------>| common |
+-------------+
また、各パッケージ内にもプロジェクト構造があります。JS のモジュラー アーキテクチャを作成します。このスタイルは require.js とそのパッケージで可能ですか、それともパッケージについて間違っていると考えていますか? もしそうなら、このアーキテクチャを達成するのに役立つ js 依存関係管理ライブラリはありますか?
サンプル構造を github ( https://github.com/austinbv/require_js_package_sample ) にまとめました。
最後に、require メーリング リストhttps://groups.google.com/forum/?fromgroups=#!topic/requirejs/bNj4mXNWq-8で同じことを尋ねましたが、あまり関心がなかったので、ここに来ました。リストが更新されたら、必ず質問を更新します。