是否有可能检测脚本是否作为RequireJS模块加载?
我正在研究是否有办法检测当前是否正在由RequireJS加载给定的脚本。 一般来说AMD模块的答案会更好,但我的用例只是RequireJS。
jQuery和其他库“检测”它是这样的:
if ( typeof define === "function" && define.amd ) {
define( "jquery", [], function() {
return jQuery;
});
}
这在大多数情况下都是足够的,但问题是,它不检测脚本是否作为AMD模块加载,它只检测是否存在define
并支持AMD规范。
有没有一种方法,无论是RequireJS还是AMD模块,一个脚本来确定(真实的)它是否被加载为模块?
看看指定的():
parentRequire.specified(moduleName):如果模块已经被请求或正在加载并且应该在某个时刻可用,则返回true。
if (typeof require === "function" && typeof require.specified === "function" && require.specified("jquery")) {
define("jquery", [], function () {
return jQuery;
});
}
现在问题在于如何获取模块名称,因为它可能因用户设置而异。 这里有一个特殊的模块,但只有当你已经在定义调用中才有效。 我建议你联系Requirer开发人员jrburke。
链接地址: http://www.djcxy.com/p/73253.html上一篇: Is it possible to detect if a script is being loaded as a RequireJS module?
下一篇: Android and ICU 5.0