JavaScriptの開発が進むと、
「このコードはこのファイルにしか実行されないようにしたい」とか、
「このコードはこのディレクトリにしか実行させたくない」とか
っていうのが出てくると思うんですよ。
で、それを実現させる方法があるのだろうか。
Yes, you could.
そこそこ規模が大きくても何とかなるjavascriptの設計(URL dispatcherの薦め) | tech.kayac.com - KAYAC engineers' blog
// 第一引数はURLのパス部分にマッチする正規表現 dispatcher('.', function () { $(function () { // 全URLで使う内容 }); }); // 第一引数はURLのディレクトリ直下のみにマッチする正規表現 dispatcher('^/$', function () { $(function () { // 全URLで使う内容 }); }); // 第一引数はURLのパス部分にマッチする正規表現 dispatcher('^/hoge', function () { $(function () { // /hogeで使う内容 }); }); // 第一引数はURLのパス部分にマッチする正規表現 dispatcher('^/hoge|^/huga', function () { $(function () { // /hogeと、/hugaで使う内容 }); }); // ライブラリ等を読み込む function dispatcher (path, func) { dispatcher.path_func = dispatcher.path_func || [] if (func) return dispatcher.path_func.push([path, func]); for(var i = 0, l = dispatcher.path_func.length; i < l; ++i) { // > var func = dispatcher.path_func[i]; var match = path.match(func[0]); match && func[1](match); }; }; dispatcher(location.pathname);
実質10行のコードをjsファイルに追加して、
第一引数にパスを指定する正規表現を追加すればいいだけです。
ね、簡単でしょ?
とはいうものの、正規表現の知識が多少必要ですが。