如何缩小多个/混合文件类型

时间:2013-12-14 19:11:29

标签: php html css performance minify

我做了很多网络性能优化工作,通常是在项目中(显然)不是每个人都在开发与生产环境的同一页面上。

我工作的大多数项目都使用HTML,CSS和JS,但是关注我的HTML常常是PHP模板(主要是HTML)。

哪些PHP minifiers(如果有的话)将在主要是HTML的文件上正常工作,哪些JS和CSS minifiers将产生开发人员友好但浓缩的代码(例如CSS文件,每条规则在一行上同时保留注释但删除空白)。

由于易于运行不同的任务,我目前正在使用Grunt和大多数'contrib'插件,但是在简单连接和完全连接和缩小之间似乎没有多大关系(即一行上的所有代码。)

是否有任何工具提供中间层和/或可以处理混合文件类型(即主要包含HTML的PHP​​文件或包含PHP的.htm(l)文件扩展名的文件?

1 个答案:

答案 0 :(得分:0)

这是我找到的最令人满意的解决方案(截至昨天)...抱歉,但我必须提到一个特定的程序(我假设其他程序可能会这样做)。

我能给出的最明确的解释是CSS:

在Sublime Text中打开项目,使用正则表达式匹配选项执行“替换”,激活查找\n\n(2回车)并替换为\n(1回车)。

保存。

然后在IDE中打开项目,设置代码格式化首选项,使声明,属性和右括号在各自的行上,并且每个都缩进相等的数量。

然后我将这些设置应用于整个项目并重新格式化代码。为了防止psuedo类匹配,我设置它,以便在将规则与声明分开的冒号后面有一个空格。例如:

a:hover{
font-weight: bold;
}
p{
font-weight: normal;
}

然后我为:做了一个'find all'(紧接着是一个空格的Sublime Text我刚刚突出显示一个冒号,然后尾随空格然后选择了'select all'选项(命令+控制+ g在Mac上。)

然后我将光标移动到每一行的开头(命令+◀︎[这是左箭头])并删除,直到所有属性都在一行上。

然后我向下移动到下一行,只有}(右括号)的行并删除,直到它与属性和声明在同一行。

然后我调整了这个过程来处理我需要的每个文件(PHP / HTML,CSS,JS)。

最终结果是紧凑,人性化,可读,代码,所有开发人员友好的功能都完好无损(声明中最后一个属性后的分号,单独行上的声明)。