将Javascript拆分为单独的文件是否会影响性能?

将Javascript拆分为单独的文件是否会影响性能?,javascript,jquery,jquery-mobile,cordova,Javascript,Jquery,Jquery Mobile,Cordova,我正在用jQuery和jQuery Mobile编写一个PhoneGap(Cordova)应用程序 我是一个noob,所以为了简单起见,我喜欢将我的脚本保存在单独的.js文件中,并根据函数大致划分它们之间的函数 (1) 这种方法是否会影响性能 (2) 是否有我不知道的编程效果 (3) 由于它是一款Cordova应用程序,所有文件都将预先打包,但当你谈论一个经典访问的网站时,这会变成一个更好/更糟糕的主意吗 谢谢 编辑 自从问了这个问题,我发现了这篇博文。它解决了多个HTTP请求的问题以及相关的

我正在用jQuery和jQuery Mobile编写一个PhoneGap(Cordova)应用程序

我是一个noob,所以为了简单起见,我喜欢将我的脚本保存在单独的.js文件中,并根据函数大致划分它们之间的函数

(1) 这种方法是否会影响性能

(2) 是否有我不知道的编程效果

(3) 由于它是一款Cordova应用程序,所有文件都将预先打包,但当你谈论一个经典访问的网站时,这会变成一个更好/更糟糕的主意吗

谢谢


编辑 自从问了这个问题,我发现了这篇博文。它解决了多个HTTP请求的问题以及相关的性能问题,尽管是在图像的上下文中

  • 通常,它不会对性能产生太大影响,但会减少从客户端浏览器生成的请求数
  • 将js保存在单独的文件中不会产生编程效果
  • 对于一个经典的网站,保持你使用的方式是很好的
  • 据我所知,这是一个设计问题,您需要在分解/累积脚本之间保持平衡

  • 是的:

    • 加载几个小文件比加载一个大文件需要更长的时间
    • 脚本是按顺序执行的,因此对于多个文件,您有一个加载-运行-加载-运行周期,在previos运行之前,无法加载每个文件
  • 脚本按顺序运行,因此如果一个脚本依赖于另一个脚本,那么它们必须按正确的顺序运行

  • 如果将其作为一个包加载,网络传输时间将是相同的,但是将脚本加载到页面中的过程对于多个脚本来说仍然有些复杂


  • 当由客户机执行时,它不会产生明显的影响。然而,拥有大量单独的JS文件会对用户感知的加载时间产生明显的影响。这是所谓“页面权重”的一个方面


    每个文件都需要一个单独的请求来查找并下载该文件。对于小型或低流量站点,这并不重要。但是随着使用率的提高,它会变得非常明显。

    据我所知,答案是“没有明显的性能影响”。如果您谈论的是一个web应用程序,在单独的HTTP事务中获取单独的脚本,那么就有性能方面的考虑。不过,对你来说,因为它们是打包的,可以直接买到,所以没关系。非常感谢你,好的先生!你有没有任何关于它能产生多大影响的估计,或者有没有试图解释的资源?在延迟无关紧要的情况下,这似乎是一个边际性能增益@JasperMogg我在生产中所做的是在缩小JS文件后将其放入一个单独的JS文件中,并简要描述每一段代码的作用。这样,我仍然使用单独的文件进行开发,但当我准备好实时推送更新时,我会缩小并捏造。其他人还有其他他们喜欢的方法吗?@Jasper:像Yslow这样的工具可以帮助你找出潜在的性能问题。@Guffa谢谢,但我的应用程序不会在浏览器中运行,因为它的结构方式。不过,在未来的项目中,我会记住这一点!