RequireJSのダミー
まだ不十分、つうか間違っているところもあるけど、とりあえずメモしておく。
http://d.hatena.ne.jp/m-hiyama/20120815/1344988132 で試しに使っている。
/* dummy-define.js -*- coding: utf-8 */ if (this && !this.define) { define = function (name, deps, callback) { if (typeof name !== 'string') { // 引数は (deps, callback) deps = name; callback = deps; } if (!deps.splice) { // 引数は (callback) callback = deps; } if (!define._namespace) { // 登録先の名前空間がないときは、 // 大域名前空間に名前を登録する var obj = callback(); for (var p in obj) { this[p] = obj[p]; } } else { // define._namespaceで指定された名前空間に名前を登録する var names = define._namespace.split('.'); var currNs = this; var i = 0; for (; i < (names.length - 1); i++) { var nm = names[i]; if (!currNs[nm]) { currNs[nm] = {}; } currNs = currNs[nm]; } currNs[names[i]] = callback(); } }; // この関数がダミーである目印 define._dummy = true; }