在发布过程中,我应该最小化css和js文件吗?


When in the release process should I minify my css and js files?

目前我们有一个非常简单(但有效)的发布过程。我们在SVN中标记一个新版本。这个版本将被导出到一个测试环境。我们从那里rsync到验收环境,再从那里rsync到生产环境。

现在我们要开始缩小css和js文件。在发布到验收的过程中,我想在我们的测试环境中做这个最小化,这样在验收环境和生产环境中我们都有最小化的文件。然而,如果我缩小那里的文件,时间戳会改变,rsync每次都会传输所有的css和js文件,即使缩小的内容没有改变。

我的问题是:解决这个问题的最佳实践是什么?我应该使用不同于rsync的机制来发布新版本吗?我是否应该将缩小的版本放在SVN中?但是我不希望在开发过程中使用缩小的文件,那么什么时候是缩小(或者合并)文件的最佳时机呢?

我们使用PHP 5.3.6,我开始寻找Yui-compressor,因为我可以很容易地在脚本中使用它。

只有当源文件上的时间戳比已经缩小的文件上的时间戳更新时,才应该再次缩小文件。如果你这样做,rsync将工作得很好,只传输更改的文件。

如果你使用像Apache Ant或Phing这样的构建软件,这应该很容易实现。他们有专门检测时间戳变化的测试