gpt4 book ai didi

javascript - 两个不同 Rails Assets 的单个 javascript 文件依赖性

转载 作者:行者123 更新时间:2023-11-30 18:28:14 25 4
gpt4 key购买 nike

我有一个 application.js Assets 和一个 editor.js Assets 。它们都依赖于 jquery.batchImageLoad.js 库。

application.js 在整个网站上可用,而editor.js 仅在某些页面上可用,但它们有时会相遇。

问题是 jquery.batchImageLoad.js 库被加载了两次,这并不是我们想要的。

除了必须更改实际的 javascript 之外,是否有任何方法可以防止它们发生冲突?

最佳答案

在application.js和editor.js的两个页面中都有jquery.batchImageLoad.js就好了,因为浏览器会缓存它,所以用户只下载一次。

我建议以不重叠的方式构建您的 js 文件和包含文件。您可以通过放弃 application.js 并拥有:

  • editor.js
  • common.js
    • 包括 jquery.batchImageLoad.js 和其他常用库
  • everything_else.js
    • 您之前在 application.js 中拥有的大部分内容

您可以在所有地方包含 common.js,然后根据需要包含 editor.js 或 everything_else.js。

如果你不想重组,你可以写一个 include_once 函数,虽然这会使你的 javascript 包含不太可预测

# in application_helper 
@included_javascripts = {}

def javascript_include_tag_once file
unless @included_javascripts[file]
javascript_include_tag file
@included_javascripts[file] = true
end
end

关于javascript - 两个不同 Rails Assets 的单个 javascript 文件依赖性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10284601/

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