Jquery RequireJS,只为特定页面加载大型库?
所以我想在一页上使用唯一且准确的。 我在所有页面上都使用requireJS。 这个库大约有400KB,那么我如何避免为特定页面加载它呢 我像这样加载requireJSJquery RequireJS,只为特定页面加载大型库?,jquery,requirejs,Jquery,Requirejs,所以我想在一页上使用唯一且准确的。 我在所有页面上都使用requireJS。 这个库大约有400KB,那么我如何避免为特定页面加载它呢 我像这样加载requireJS <script data-main="../js/main" src="../js/requirejs.js"></script> 我当然不想为我为单个页面添加的每个小库添加新的主文件 我忽略了什么?您可以检查一些条件,例如当前URL,然后像这样加载插件: if (/*whatever condit
<script data-main="../js/main" src="../js/requirejs.js"></script>
我当然不想为我为单个页面添加的每个小库添加新的主文件
我忽略了什么?您可以检查一些条件,例如当前URL,然后像这样加载插件:
if (/*whatever condition*/) {
require(["plugin-name"], function() {
// Plugin is now availbale in here.
});
}
这可以在Javascript代码的任何地方完成。可能有更好的方法。我没有使用过require,但是您可以将代码包装在init函数中,下面包括require脚本调用该init函数。InitWhather()嗯,不,这不起作用,因为requirejs正在异步加载。当然有更好的方法,但是你可以解析url并检查你在哪个页面上。也许我遗漏了什么,但你不能在你想要的页面上添加库的
标记吗?也许会满足你的需要。您可以将依赖项指定为define([“lazy!neatHtmlTables”,…],function(neatHtmlTables,…){…}
。它不会被加载;相反,neatHtmlTables
是一个存根,可以根据需要使用neatHtmlTables.get()
加载真正的AMD模块,并返回一个承诺。