私は最新のクライアント側 JS エコシステムに追いつき、CommonJS や AMD などのモジュール システム (関連ツール - browserify、requirejs、onejs、jam、その他多数) について調べています。Javascript ライブラリを作成している場合、最も広くアクセスできるようにパッケージ化するにはどうすればよいでしょうか (理想的には、CommonJS、AMD、特にそのどちらでもないことを誓うユーザーによって)。
jQuery のような一般的なライブラリは、古い学校のファイル連結を使用してそれ自体を構築し、エクスポートまたはグローバル コンテキストに書き込む必要があるかどうかを動的に検出するようです。私は現在同じことをしていますが、主な欠点は、(jQuery とは異なり) いくつかのライブラリに依存している場合、推移的なセットを手動で事前に含めるようにユーザーに依頼する必要がないことです。(ただし、現在、依存関係は 2 つしかありません。)そしてもちろん、グローバルな名前空間の汚染です。
それとも、コンテキストごとにライブラリの複数のバージョンを生成するのが最もクリーンでしょうか?
これは、パッケージ化と発行にも影響します。いくつかのシステムがありますが、フェッチするだけなので扱いやすいバワーが主流だと思います。ただし、コンポーネント用にパッケージ化する場合は、CommonJS モジュールが必要です。
他に知っておくべき関連する側面はありますか? このすべてについて従うべき良いサンプルプロジェクトはありますか?