gpt4 book ai didi

javascript - 带有查询字符串的 RequireJS 数据主体不起作用

转载 作者:行者123 更新时间:2023-11-29 10:17:02 24 4
gpt4 key购买 nike

为了避免浏览器缓存我优化的 JS 包,我想在请求 URL 中包含一个 MD5 和。我试过类似的东西:

<script src="lib/require.js" data-main="app/main.js?md5=ABCD"></script>

然而,查询字符串的引入导致对 /main.js 的 GET 请求。也就是说,查询字符串丢失,甚至 scripts 也从路径中丢失。

如何强制在 data-main 中指定的脚本请求中加载我计算出的哈希值?请注意,正在生成标记,因此我可以在 HTML 文档中的任何位置注入(inject)哈希。

最佳答案

诀窍是使用urlArgs 配置设置。因此,在此示例中,代码应类似于:

<script>
require = {
urlArgs: 'md5=ABCD'
};
</script>
<script src="lib/require.js" data-main="app/main.js"></script>

确保在加载 require.js 库之前定义全局 require 对象。

这是可行的,因为 RequireJS 在启动时运行以下代码(从 v2.1.10 开始,请参阅未压缩源的第 190 行):

//Allow for a require config object
if (typeof require !== 'undefined' && !isFunction(require)) {
//assume it is a config object.
cfg = require;
require = undefined;
}

检查浏览器的开发工具,您应该会在查询字符串中看到参数:

enter image description here

关于javascript - 带有查询字符串的 RequireJS 数据主体不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19495378/

24 4 0
文章推荐: java - 为什么 List list = new ArrayList() 这会导致 TypeMismatch 错误