javascript - 如何为大型组织的网站使用 js 最小化

标签 javascript jquery optimization minify yui-compressor

我正在寻找一个 JS 最小化(也许还有 CSS)工具来在我们的网站中使用。该网站相当大,我们无法手动单独缩小文件。我们还计划对文件使用长期缓存,并且需要向每个文件附加版本号。恐怕在频繁发布时很难跟踪。

我知道有 YUI Compressor 等工具,但我不确定它们如何用于像我这样的大项目。从技术上讲,我正在寻找一个脚本或应用程序,可以在我们的开发完成后调用它,以将其与文件的缩小版本一起使用。

现在大公司使用/遵循的常见做法是什么?任何帮助表示赞赏。我只是不确定要搜索什么。

谢谢。

最佳答案

我建议您使用一种 makefile 工具链(有很多,例如 ant 或 maven):

  • 将 js 文件连接到一个文件中
  • 然后缩小生成的文件(我使用 Google Closure Compiler ,通过 ant 目标调用)

请注意,创建一个文件是最重要的操作,因为在现代网络上,由于请求数量而导致的延迟比总大小带来的负担更大。通过这种方式,您可以轻松地处理数十或数百个 js(或 css)文件,并且一旦有助于代码源的可读和可维护,就可以毫不犹豫地创建一个新文件。

这消除了出于缓存原因(手动或非手动)管理文件可见版本控制的需要。

正如最近所说的in another answer ,为了帮助调试,我的部署脚本总是并行制作两个版本:一个是非串联/缩小的,一个是串联/缩小的。未压缩版本无需任何部署操作即可现场开发/测试。

关于javascript - 如何为大型组织的网站使用 js 最小化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11477089/

相关文章:

Javascript float 问题与加法

javascript - 如何删除数据表中的特定行?

javascript - 如何通过代码切换 Firefox 响应式设计 View 分辨率

java - 每个作用域初始化一次循环迭代器是否更好?

java - int i = array.length 比只调用 array.length 两次有什么优势吗?

javascript - 无法从 Javascript 调用新的 Activity

jquery - qtip2:更改 'this' 选择器

jquery - 根据数据库验证电子邮件格式和唯一性

javascript - Yii:使用 clientscript 注册函数时的 Firebug 控制台(未定义函数)

C++ 性能优化