0

requirejs.noConflict()ライブラリからグローバルフットプリントを削除する、または何らかの方法を探しています。私の使用例は、既に定義されている可能性のあるサードパーティのページで実行するウィジェットを作成していることですrequire( definerequirejs の以前のバージョンまたは完全に別のライブラリを使用して)。

私はこれを自分で実装しようとしましたが、ほとんどうまくいきます。簡単にするために、元の値を復元せず、フットプリントのみを削除すると仮定します。私は自分のデータメインで次のようなことをします:

  var mycontext = requirejs.config({context : 'asdf', baseUrl : 'http://foo.com' });

  mycontext(['require','foo'], function (require, foo) {
        var f = require('foo');
  });

  // namespace cleanup
  window.requirejs = undefined;
  window.require = undefined;
  window.define = undefined;

ここでの問題は、fからの値require('foo')が null を返すことですが、名前空間のクリーンアップを行った場合のみです。これはrequirejsのバグのようなにおいがしますが、競合しない公式の解決策があることを願っています.

すべての jQuery 関連の noConflict() の質問のため、これをグーグルで検索するのは困難です。

4

1 に答える 1