寻找requirejs.noConflict()
,或以某种方式从库中删除全局足迹。我的用例是我正在编写一个小部件以在可能已经定义的第 3 方页面中运行require
(define
使用先前版本的 requirejs 甚至完全使用另一个库)。
我已经尝试过自己实现这个并且它大部分都有效。为简单起见,假设我不恢复原始值,只删除足迹。我在我的数据主中做了这样的事情:
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
from 的值require('foo')
返回 null,但仅当我进行命名空间清理时。这闻起来像 requirejs 中的错误,但我希望有一个官方的无冲突解决方案。
由于所有与 jQuery 相关的 noConflict() 问题,很难用谷歌搜索这个问题。