合并多个 javascript 文件

2024-02-07

我读过,将多个 javascript 文件合并到一个文件中可以提高性能,这是真的吗?

如果是这样,是否有一种简单且无错误的方法来合并它们,或者也许有一个自动执行此操作的在线工具?

非常感谢。


See 多个 javascript/css 文件:最佳实践? https://stackoverflow.com/questions/490618/multiple-javascript-css-files-best-practices and 在 PHP 中增强 Javascript http://www.cforcoding.com/2009/05/supercharging-javascript.html.

简而言之,您希望最大限度地减少外部 HTTP 请求。最好的方法是强制浏览器缓存您服务器的文件,直到它们发生更改。您可以通过对文件进行版本控制并提供远期的 Expires 标头来实现此目的。当文件名更改(通过更改版本)时,浏览器将获取新版本。

如果你这样做,那么多个 Javascript 文件就不再重要了。但是,如果您强制客户端在每个页面上下载 27 个 JS 文件且没有缓存,那么减少文件数量可能会产生重大影响。当然,这仍然不如有效的缓存/版本控制策略。

最近需要考虑的另一个问题是iPhone缓存 http://www.phpied.com/iphone-caching/:

iPhone不会缓存组件 大于 15K(在 之前的实验)

因此在某些情况下合并文件可能是有害的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

合并多个 javascript 文件 的相关文章

  • 三个JS,给纹理添加镜面反射(光泽)

    我有一个纹理应用于 Three js 中的对象 我想为其添加一些镜面反射或光泽 我看到这样的例子 new THREE MeshPhongMaterial color 0x996633 specular 0x050505 shininess
  • 如何使用多个 select2 框过滤表格?

    我正在尝试使用 和多个 select2 框的类来过滤表格 表格 HTML table class table tbody tr class kanban event Austin td td tr tr class csm event Ch
  • 为什么省略分号会破坏这段代码?

    或者换句话说 为什么分号插入失败 导致下面的代码被破坏 function Foo Foo prototype bar function console log bar lt missing semicolon function Foo pr
  • 使用 Ajax Jquery post 请求进行 Json 劫持

    昨天 我读了一些关于如何预防的好文章使用 Asp Net MVC 进行 Json 劫持 http haacked com archive 2009 06 24 json hijacking aspx 规则是 永远不要通过 get 请求发送
  • 在节点环境中存根 jQuery.ajax (jQuery 2.x)

    我正在尝试运行一些需要存根的测试jQuery ajax 我正在使用 SinonJS 来做到这一点 它曾经与旧版本的 jQuery 1 x 一起工作得很好 var require jquery var sinon require sinon
  • 从选择 onChange 调用 javascript 函数 [重复]

    这个问题在这里已经有答案了 所以我有一个简单的 HTML 选择框和一个 javascript 警报功能 我希望选择框有一个 onchange 事件来调用 javascript 警报函数 这是我到目前为止所拥有的 HTML div Type
  • 将时间戳转换为一个数组

    在应用程序脚本 谷歌表中运行 我从 API 获取时间戳并返回此结果 1 6370611672429312E18 1 63706107263277082E18 我执行此代码并且工作正常 但问题不在数组中 我每次都需要它在数组中 const t
  • Javascript 作为对象键的函数与块中标记函数之间的语法冲突

    假设您有一个支持两者的浏览器带标签的函数声明 https developer mozilla org en US docs Web JavaScript Reference Statements label Labeled function
  • 使用 jQuery inputmask 插件范围 0-100

    如何创建 0 到 100 范围内的掩码 document ready function masked inputmask 您可以使用jquery inputmask regex extensions js为了那个原因 你可以找到带有所有扩展
  • 如何通过setTimeout函数定期打印数字?

    var i 0 function counter for i i lt 100 i setTimeout gt console log i 2000 counter 我想以 2 秒的间隔打印 i 但它立即打印 每次打印调用只需要几微秒 为什
  • 检查用户设备的 GPS 是否开启

    我正在使用 jQuery Mobile 和 PHP 开发一个应用程序 我没有使用 Phonegap 或其他框架 我需要找到用户的geolocation 如果用户设备的 GPS 关闭 那么我无法获取位置 现在我需要查找用户设备的 GPS 是否
  • 合并来自并行 Subversion 存储库的更新代码

    我想知道人们在将实时 持续更新的 SVN 存储库与离线存储库 更新频率较低 合并时通常会采取哪些步骤 以我的场景为例 不久前我下载了BugTracker NET系统 当时它的版本是3 2 3 随后我对我们业务的代码进行了一些增强 我们使用
  • 如何根据查找表匹配多列

    我有以下两个数据框 lookup lt data frame id c A B C price c 1 2 3 results lt data frame price 1 c 2 2 1 price 2 c 3 1 1 我现在想要浏览所有列
  • 如何在React中动态分配属性?

    这是一个有两个参数的函数 我要创建的标签的名称 具有以下属性的对象 Using React 我创建一个组件并将该元素渲染到 DOM 问题是我想向元素添加属性 但它不允许循环在元素内设置属性 var Element function elem
  • 为什么 call 比 apply 快那么多?

    我想知道是否有人知道why call比apply 在 Chrome 中 速度大约快 4 倍 在 Firefox 中快 30 倍 我什至可以制作自定义原型 apply2 在大多数情况下 运行速度是apply 这个想法取自角度 Function
  • javascript - 如何获取对象名称或关联数组索引名称?

    我有一个像这样的 JSON 对象 var list name1 element1 value1 name2 element1 value2 如何提取所有 nameX 字符串值 例如 假设我想将它们连接在一个字符串中输出 例如 name1 n
  • 当php脚本通过ajax运行时显示进度条

    我有一个通过 ajax 向服务器提交值的表单
  • Three.js点击单个粒子

    In this example http jsfiddle net agqq96bq 2 您可以看到 2 个可点击的粒子 但它们都受到点击的影响 另外 我只想检测粒子上的点击 而不将它们过滤出场景 像这儿 if intersects len
  • Graphql 将多个查询合并(组合)为一个?

    我正在尝试使用 JavaScript 将多个 GraphQL 查询合并为一个查询 我正在寻找这样的东西 let query3 mergeQueries query1 query2 我们事先不知道哪些查询将被组合 假设我有这样的查询 输入查询
  • jQuery Mobile + Admob:轮换?

    我使用 jQuery Mobile 框架创建了一个移动应用程序 所有页面都在index php中加载 使用 div 在每个页面的页脚中 我添加了Admob代码 div div div

随机推荐

  • 带有 Angular 的手表工厂变量

    我的单页应用程序有 2 个控制器 第一个用于主菜单 第二个用于视图 他们与这家工厂共享数据 myApp factory MenuFactory function var factory Monitor doneJob Control Rep
  • 自定义波特率

    我正在尝试通过虚拟 COM 端口与硬件设备通信 主机为PC Windows操作系统PC 设备正在以 921600 波特率工作 这段代码的工作原理 DCB dcb dcb BaudRate CBR 115200 SetCommState hP
  • 用空格分割字符串,然后在 ansible/jinja2 中再次连接它

    我正在尝试 清理 Ansible ansible 2 1 1 0 1 fc24 noarch 剧本中变量中的空格 但我首先会split 它然后加入 再次 由于某种原因 该方法给了我以下错误 hosts all remote user roo
  • MATLAB 中的反向谱图 A La Aphex Twin

    我正在尝试将图像视为频谱图 从而在 MATLAB 中将图像转换为音频信号就像 Aphex Twin 的歌曲中那样舔窗者 http www bastwood com aphex php 不幸的是 我很难得到结果 这是我现在所拥有的 funct
  • 将驼峰式字符串转换为 kebab 式字符串的正则表达式

    function hyphenate str var replace str str toLowerCase replace s b g replace console log str return str hyphenate This I
  • ECS Fargate 中的 StoppedReason 被截断

    在 ECS Fargate 中 当任务失败时 有一个 停止原因 字段 它会提供一些有用的日志记录 然而我注意到它在 255 个符号后被截断 下面的屏幕截图 我检查了网络选项卡并跟踪了 http 响应的 JSON 即使在那里它也被截断了 所以
  • iOS 的粒子动画

    我需要粒子动画UIView基于2D的游戏 目前我正在使用一组图像来制作粒子动画 这使得我的应用程序大小增加 有时会导致内存泄漏 有没有办法使用Core Animation制作粒子动画 cocos2d 参见http cocos2d iphon
  • 应用程序的生命周期 - 当应用程序终止并且推送套件有效负载到来时

    应用程序的生命周期是怎样的 当应用程序处于终止状态并且推送套件有效负载到来时 首先 Pushkit 委托方法将起作用 或者 AppDelegate 方法将起作用 有人可以描述在这种情况下调用方法的顺序吗 感谢您的回答 提前致谢 一旦推送套件
  • '无效更新:第 1 部分中的行数无效

    我正在尝试对 tableView 中的聊天重新排序 最近更新的聊天记录应插入IndexPath row 0 section 1 我的理解是 为了删除一行 它必须是可见的 如果该行不可见 则当更新数据源时 我只需tableView inser
  • 如何将 TeamCity 设置为在构建失败时不生成构建工件?

    如何设置 TeamCity 以便在由于单元测试失败而导致构建失败时它不会发布构建工件 我很确定它在 6 0 版本之前是这样工作的 但自从升级到 6 0 后 即使测试失败 它也总是会产生工件 我检查了 如果至少一项测试失败 则构建失败 我们的
  • Powershell:如何将 -whatif 传播到另一个模块中的 cmdlet

    我一直在尝试使用 ShouldProcess 方法编写支持 whatif 的安全代码 以便我的用户在真正运行 cmdlet 之前就知道它应该做什么 然而我遇到了一些困难 如果我使用 whatif 作为参数调用脚本 pscmdlet Shou
  • 基于 Numpy 时间的向量运算,其中前面元素的状态很重要 - for 循环合适吗?

    在状态很重要的情况下执行基于时间的计算时 numpy 数组提供什么功能 换句话说 序列中较早或较晚发生的事情很重要 考虑以下基于时间的向量 TIME np array 0 10 20 30 40 50 60 70 80 90 FLOW np
  • 为任意音频文件生成缩略图

    我想在最大尺寸为 180 180 像素的图像中表示音频文件 我想生成这个图像 以便它以某种方式给出音频文件的表示 将其想象为 SoundCloud 的波形 幅度图 我想知道你们中是否有人有这方面的东西 我一直在搜索一些 主要是 音频可视化
  • F#:可为 Null 支持

    在 F 中使用 Nullable 的正确方法是什么 目前我正在使用这个 但它看起来非常混乱 let test left Nullable
  • apache htaccess 使用别名重写

    我们正在更改我们的域名 这旨在适用于独立应用程序 在 Apache 虚拟主机文件中 DocumentRoot 是 var www website html 而不是此块中的 var www example html Alias apps de
  • 为什么我可以在没有参数的情况下初始化 UIView,但它的文档没有空的初始化程序?

    let view UIView 为什么当唯一记录的时候编译没有错误UIView初始化器是init frame CGRect 具体来说 我正在尝试编写一个继承自的新类UIView 但是这段代码会抛出一个错误 class SquadHorizo
  • 谷歌反向地理编码 - 如何捕捉到最近的完整邮政编码

    我正在使用 Google 的反向地理编码功能和地图 api v3 来检索纬度经度的邮政地址 当在地图上拖动标记时 这仅是英国应用程序 系统的一部分需要完整或接近完整的邮政编码才能正确处理 然而 反向地理编码器通常只返回邮政编码的一部分 例如
  • 如何使用 NAnt 修改源代码?

    我想在构建解决方案之前使用 NAnt 修改 h 文件中的字符串 h 文件中有一个宏 define SERVER ADDRESS www customserver net 我想在部署软件之前修改该字符串 以便通过在命令行中传递地址来为自定义地
  • 删除除 2 列外所有列均为 NA 的行[重复]

    这个问题在这里已经有答案了 我有一个data table 我想删除那些除某些 2 列之外的所有列均为 NA 的行 例如 我有一个 data table 像 gt ww2 Sepal Length Sepal Width Petal Leng
  • 合并多个 javascript 文件

    我读过 将多个 javascript 文件合并到一个文件中可以提高性能 这是真的吗 如果是这样 是否有一种简单且无错误的方法来合并它们 或者也许有一个自动执行此操作的在线工具 非常感谢 See 多个 javascript css 文件 最佳