このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

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;
}