gpt4 book ai didi

javascript - 如何使用 RequireJS 加载页面特定的 JS 文件?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:46:42 26 4
gpt4 key购买 nike

我有一个使用 RequireJS 的多页面网站,它加载一个引导文件 (boot.js),然后需要 app.js。

app.js 处理所有逻辑,所有其他模块初始化通过 app.initModule() 发生(这只是一个 require() 调用包装器)

我还有一个 app.loadPageJS() 来加载页面特定的 JS 文件(基于 window.location.pathname,例如,www.domain.com/path/to/file.html 会自动加载/_assets/js/pages/path/to/file.js)

可以打开/关闭此功能,并通过分别向主体添加“无自动加载”或“自动加载”类来覆盖。

现在,我的方法不够稳健。其一,url 重写会破坏机制,其二,如果 loadPageJS 被关闭,除非我有权访问 body 标签,否则我不能包含页面特定的 JS 文件(在使用模板系统的网站的情况下,添加body 标签的类并不总是一个选项)。

包含页面特定代码的其他方法有哪些?我宁愿避免以下情况:

  • 将页面特定代码添加到 global.js 文件并执行 if 检查并仅运行某些代码集

  • 使用 pageName 变量(本质上与上述类似)

提前致谢。

最佳答案

如果您在页面上有不同的模块,这些模块由唯一 ID 分隔(包裹在 ID 为“newsletter”的 div 中的时事通讯模块等),您可以测试 DOM 中模块元素的存在并有条件地加载运行该模块所需的 JS 文件。因此,它不是特定于页面的,而是特定于模块的。

关于javascript - 如何使用 RequireJS 加载页面特定的 JS 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9745849/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com