好的编码:模块化的js文件或一个大的js文件?

时间:2010-09-03 10:00:27

标签: javascript jquery bundle

只想问一下那里的大师们。我知道CSS文件更好地合并而不是分成多个文件。 js的工作方式是否相同?以下是我目前所知的几点(或者相信......如果我的信念/理解是错误的,你可以指出一些问题):

  • 我知道js更好地模块化以便于维护
  • 将所有文件合并为一个“风险很大”,因为您只想在某个页面上使用某些功能。
  • 我知道并发下载会减慢页面速度,所以最好只做一个大文件。
  • 合并到1个文件可能会导致变量作用域出现问题吗?
  • 我知道有javascript编译器ala bundle-fu或YUI,但这是所有人的答案吗? dev的不同文件然后js只有1个文件?

4 个答案:

答案 0 :(得分:10)

您不需要使用相同的文件进行开发和生产,因此您可以充分利用这两个方面:开发的模块化和部署的连接。这是一个list of tools for concatenation and minification

答案 1 :(得分:2)

在单独文件的增加开销和用户下载他们永远不会使用的代码的机会之间进行权衡。您应该了解用户如何使用您的应用。

考虑使用构建脚本来连接文件。

答案 2 :(得分:1)

我采用实用的方法进行部署合并+最小化核心应用程序脚本(也称为全局组件),然后合并+最小化每个部分或每页脚本(本地组件)。这使您通常需要下载两到三个脚本,不包括JS库(读取:jquery)。

您很少想将所有内容转储到一个重要的死亡文件中,因为您的访问者通常不太可能访问每个页面并且需要他们的每一段代码,所以这是错误的经济思考在一次点击中为他们提供所有内容比在一些分布式点击中给他们所需要的更快,特别是当您考虑下载执行脚本的配置文件(即阻塞)时。

我希望不用说,你只为部署做了所有这些。始终,始终使用模块化脚本执行您的开发,让构建过程处理合并。

答案 3 :(得分:0)

我们总是将JavaScript模块化为单独的文件,然后使用服务器端包含以确保浏览器只需要为JS进行一次调用。