仅在未在页面上加载时加载 requirejs 库
Load requirejs library only if it is not loaded on page
我是 requirejs(2.1.19) 的新手。目前我正在使用它开发一个应用程序。
如果某些用户的页面上已经有 requirejs(<2.1.19),我的问题会发生什么。
这意味着正在加载两个版本的 requirejs,这将导致冲突。
如何处理这个问题。这样我的应用程序就会覆盖用户使用的 requirejs。
如果用户已经有 requirejs,我想要。它使用那个 js,否则它使用我服务的 requirejs
有办法吗????
您可以检查一些全局 RequireJS 函数是否已经定义。例如:
if(typeof define == "undefined") {
// RequireJS isn't present...
}
// or...
if(typeof require == "undefined") {
// RequireJS isn't present...
}
为了有条件地加载库,您需要一个独立的 JavaScript 加载程序。 One of simplest file loaders is HeadJS.
if(typeof define == "undefined") {
head.load("yourOwnRequire.js", function() {
// RequireJS will be loaded asynchronously
});
}
请注意,异步加载库有一些影响。有些库在文档加载后可能不可用,您需要仔细考虑如何初始化您的 Web 应用程序。
另一方面,如果您想同步加载 RequireJS,请查看此问答以了解如何使用 [=30= 手动添加脚本标签]:
- Can't append <script> element
我是 requirejs(2.1.19) 的新手。目前我正在使用它开发一个应用程序。 如果某些用户的页面上已经有 requirejs(<2.1.19),我的问题会发生什么。 这意味着正在加载两个版本的 requirejs,这将导致冲突。 如何处理这个问题。这样我的应用程序就会覆盖用户使用的 requirejs。
如果用户已经有 requirejs,我想要。它使用那个 js,否则它使用我服务的 requirejs 有办法吗????
您可以检查一些全局 RequireJS 函数是否已经定义。例如:
if(typeof define == "undefined") {
// RequireJS isn't present...
}
// or...
if(typeof require == "undefined") {
// RequireJS isn't present...
}
为了有条件地加载库,您需要一个独立的 JavaScript 加载程序。 One of simplest file loaders is HeadJS.
if(typeof define == "undefined") {
head.load("yourOwnRequire.js", function() {
// RequireJS will be loaded asynchronously
});
}
请注意,异步加载库有一些影响。有些库在文档加载后可能不可用,您需要仔细考虑如何初始化您的 Web 应用程序。
另一方面,如果您想同步加载 RequireJS,请查看此问答以了解如何使用 [=30= 手动添加脚本标签]:
- Can't append <script> element