0
我必须使用现有的js库(A),我无法修改哪个库又使用3D方js库(B)。RequireJS和3d方依赖关系
A和B取决于jQuery的,但只有B是AMD兼容:
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
return define('B', ['jquery'], function ($) {
return factory($, root);
});
} else {
return factory(root.jQuery, root);
}
})(window, function ($, window) {
// Extend $ (jQuery) with a function myFunction
}
脚本负载顺序是:
- require.js + requireconfig.js
- 的jquery.js
- B.js
- A.js
问题是,当A尝试使用$ .myFunction时,它是未定义的。
我的RequireJS配置文件应该是什么样子,以便$ .myFunction不是未定义的?
您的第二段不正确。你不应该为调用'define'的模块定义一个'shim'。这样做的结果是不确定的。 – Louis
谢谢@Louis。固定。 –