バックグラウンド
顧客の Web サイトで実行される JavaScript ライブラリがあります。このライブラリは、標準コンポーネント (エラー処理、メッセージ パッシングなど) と顧客ごとのカスタム コンポーネント (特定の dom 処理ルーチン) の混合物です。
問題
私はDRYを破っています。顧客ごとに、同じコードを複製しています。私は DRY に違反しているため、すべての落とし穴に悩まされています。たとえば、共通のコンポーネントに変更を加える必要がある場合、その変更を複数のファイルに複製する必要があります。
望ましい解決策
すべての機能をコンポーネントに分離し、ライブラリに追加するコンポーネントを (ビルド スクリプトを介して) 選択的に選択したいと考えています。
これは、Bootstrap で JavaScript プラグイン機能を組み合わせて使用できるようにする方法と多少似ています。
例: CustomerA のライブラリには、基本コンポーネント、コメント コンポーネント、および Google アナリティクスを解析するためのカスタム ハンドラが必要です。
CustomerB のライブラリには、基本コンポーネントと、ショッピング カート エクスペリエンス用のカスタム ハンドラーが必要です。
RequireJS でこれを行うことができると思いますが、カスタマイズされた JavaScript ライブラリを構築するためのより業界標準の方法はありますか?