60

好的,所以我有一个合理大小的项目,我使用 jquery 主干和其他几个 javascript 库。我想知道是否应该为我的 javascript 库提供一个文件,为我的自定义代码提供另一个文件。或者一堆单独的 javascript 文件。

4

7 回答 7

92

减少 HTTP 请求通常是个好主意。所以你应该尽可能地减少文件的数量

我个人的偏好是拥有三个 JavaScript 文件“组”:

  1. 核心文件。包含几乎无处不在的功能和其他有用的页面初始化东西。
  2. 模块文件。包含在多个地方使用但并非无处不在的代码。可以放入以提供附加功能。例如,如果您有一个处理日期输入的脚本,您可以将其作为模块文件包含在内,并将其添加到具有日期输入的页面中。
  3. 特定于页面的文件。这些文件包含仅在一处使用的代码。它们被添加为单独文件而不是页面本身的一部分的唯一原因是出于缓存原因。
于 2013-03-06T00:27:42.397 回答
17

一个大文件。当代码投入生产时,您应该缩小代码,如果它很大,则压缩它。您希望向服务器发出尽可能少的请求以提高页面性能

于 2013-03-06T00:26:39.187 回答
11

最好把它分开,但不要过分热心。这样您以后就可以重用您的库代码。此外,每个人都更喜欢使用单独的文件,因为它使事情更有条理。

也就是说,最好给用户一个压缩文件,这样所有的东西都可以很容易地被缓存,这也减少了页面请求的数量。例如,Rails 3 在资产管道中自动执行此操作。你可以编写一个脚本来运行你最喜欢的压缩器。但是你不应该为此牺牲代码的可读性——你可以吃蛋糕也可以吃!

于 2013-03-06T00:25:58.023 回答
11

一个大文件或两个文件:一个小文件和一个大文件。需要明确的是,在开发过程中最好有单独的文件——也许使用类似requireJS的东西。但是当您部署它时,最好将所有内容压缩到一个文件中,以减少 HTTP 延迟和请求。

我提到了两个文件。在某些情况下,最好有一个小文件来处理“引导”操作,同时下载“大文件”——特别是如果它真的很大的话。这对于第一次访问特别有用,因为用户还没有缓存您的文件。

于 2013-03-06T00:29:42.427 回答
1

通常,我会尽可能少地使用,以减少对服务器的请求数量。

于 2013-03-06T00:28:57.170 回答
0

正如建议的那样,使用较小的文件很好,但是对于生产代码,您的构建过程应该包括优化。该优化的一部分应该是最小化文件大小和网络流量优化,通过组合成一个 js 文件来减少浏览器的调用。

于 2013-03-06T00:28:35.313 回答
0

取决于您的应用程序的大小。但通常总是更好地对您的 javascript 文件进行适当的分组,以获得更好的可维护性和可重用性。

你可以使用像RequireJS这样的 JS 模块加载器来加载你的 JavaScript。至少文件将被组织起来。您可以通过确保这些文件可以缓存在用户的浏览器上来提高服务器性能,以便他们只下载一次。

于 2013-03-06T00:29:11.040 回答