我从requireJS开始,需要一些帮助来继续实施。
我的网站是按照默认值构建的:
header.html (always the same, containing the requiredjs script tag)
$pageMain (always variable - $pageAbout, $pageContact...)
footer.html (always the same)
我需要在我的网站的不同页面中加载特定的js文件,但我只有一个标题包含用于设置所需文件的标记。
<script data-main="js/main" src="js/lib/require.js"></script>
当我的页面是$ pageAbout时,我需要加载$ pageAbout.js而不是$ pageMain.js 我仍然无法做到这一点。
检查https://github.com/requirejs/example-multipage#我理解它是如何工作的,但在我的情况下,我不应该这样做,因为我在header.html中只指定了一次脚本标记
有什么建议吗? 我不知道我的问题是否清楚。请让我知道以便更好地解释。
答案 0 :(得分:1)
这里有各种解决方案,具体取决于您可以轻松编辑的内容。
您可以根据当前页面更改标题中的脚本标记。我从你的描述中假设这是不可能的。
如果您必须始终加载相同的js/main
脚本,则可以将其用作不同页面特定模块之间的切换:
// js/main.js
define(function() {
var pageId = getPageId();
require('js/' + pageId);
});
这取决于能够在头加载时获取页面ID - 可以通过在加载头之前设置的JS变量,也可以通过解析URL或通过其他方式来获取。
您只需从标题中删除脚本标记,然后将其包含在页面的变量正文中即可。脚本标记可以出现在文档中的任何位置。
您可以从标题脚本标记中删除data-main
属性(以便标题只加载RequireJS库),然后在页面主体中添加脚本标记以加载特定于页面的模块:
<script> require('js/pageAbout'); </script>
任何这些都应该有用 - 最后两个可能是最简单的。 RequireJS文档是非常规范的,但是有很多工作实现的路径 - 您不必按照推荐的方式进行操作。