精简版
当使用像 YUI 压缩器这样的文件压缩器时,部署网站的正确程序是什么,这样您就不必在开发期间弄乱压缩文件?作为发布过程的一部分,是否应该有一个压缩脚本?
长版
我刚刚加入了一个项目,我们将 YUI 压缩器用于 JS 和 CSS 文件。我遇到了一些对我来说闻起来很臭的代码块。我想知道是否有更好的方法来做到这一点。
我认为,在编写代码时,开发人员应该可以自由地处理未压缩的文件,并且网站仍然可以正常工作并反映他们所做的更改。然后可以在发布时压缩更改后的 css 和 js 文件。这不是这里的情况。
基本上,在我们的核心 php 页面上检查 PHP_SAPI,如果它是命令行,则运行压缩器。这包括运行一个exec
ongit log
然后一些sed
魔法来获取当前的修订号(用作 css 和 js 文件版本),然后proc_open
ing yuicompressor,在文件上运行它,再多几个exec
s 将新文件添加到git ...然后一些巫术进入php文件本身(是的,它是自我修改的)并将$version
变量声明更改为新的修订号。此变量用于include
正确的 css 和 js 文件。
当我第一次从我们的 repo 中检查代码时,网站在本地运行,但没有 css。一位同事告诉我,我需要运行一个调用上述咒语的 shell 脚本。在成功之前,这需要大约半小时的时间来调整文件权限。
这闻起来有我想的那么难闻吗?我们如何才能摆脱它作为开发步骤,并有可能在开发过程中只包含常规的未压缩文件?就像现在一样,我无法对所述文件进行更改并立即查看它们。在发布时这样做的问题是,在压缩文件时,包含必须更改为压缩文件。似乎这也需要修改代码的脚本。有任何想法吗?