再入門JavaScript – モジュールの依存関係

Filed Under (Uncategorized) by on 28-10-2008

依存関係のチェック

AAAというモジュールを利用して、BBBというモジュールを作成したいケースを考えてみると

PERL:
  1. use AAA;

Perlでは上記のように書けば、動的にincludeパスを探索し、モジュールのロードと依存関係の解決を
してくれますが、Jsではそんな便利な仕組みは存在しません。

また、HTTPリクエスト数の問題などからファイル名とモジュール名とを完全に同期させることも
非常に難しい課題です。

だからといって、jsのモジュールに

JAVASCRIPT:
  1. /*
  2. * require BBB
  3. *
  4. */

と書いたところで、このコメントはプログラムから解釈されないのですぐにエラーを出してくれませんし、
コメント自体の正しさを保障してくれません。

なので、

JAVASCRIPT:
  1. if( !BBB )throw('ERROR!');

のようにコード中に依存関係を明示的に書くようにすれば、そのモジュールがロードされて無い場合すぐに気付くことができます。

JS.Namespaceライブラリでは

JAVASCRIPT:
  1. JS.Namespace.depends('BBB','AAA.WWW');

このように記述することで、依存関係のチェックをコード中に埋め込むことができます。

Comments:

Post a comment