【问题标题】:How to minify multiple/mixed file types如何缩小多个/混合文件类型
【发布时间】:2013-12-14 19:11:28
【问题描述】:

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

我从事的大多数项目都使用 HTML、CSS 和 JS,但我经常关心的 HTML 是 PHP 模板(主要是 HTML)。

哪些 PHP 压缩器(如果有)将在主要是 HTML 的文件上正常工作,哪些 JS 和 CSS 压缩器将生成对开发人员友好但压缩的代码(例如,在保留 cmets 但删除的同时,每条规则都在一行的 CSS 文件空格)。

由于运行不同的任务很容易,我目前使用 Grunt 和大多数“contrib”插件来完成大部分任务,但在简单连接和完全连接和缩小之间似乎没有太多基础(即一行代码)。

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

【问题讨论】:

  • 我没有看到 js/css 文件的问题。您拥有开发文件并运行 Grunt 来缩小它们,同时保留原始文件以再次执行此操作。您在应用程序中使用缩小的文件。很像 LESS 等工具。您不包含 .less 文件,而是使用输出的 css。
  • 我主要关心的是可读性。我通常在处理生产代码(而且我认为他们没有使用预处理器)并且完全缩小的代码很难导航并且缺少文件之间的中断和无关的分号等内容。虽然我喜欢使用 Uglify 并生成源映射,并且我知道如何将 DevTools 与这些技术结合使用,但我不能假设每个人都这样做,因此我想找到一种中间方法。
  • 恕我直言,不理解 jQuery.jsjQuery.min.js 之间联系的人不应该接触生产代码。发送到客户端的生产代码不应包含 cmets、调试符号等。您可能无法找到执行所需操作的工具。缩小与可读性无关,有源代码。过去,我尝试过使用 PHP 对 js 和 css 进行“按需”缩小。在将文件发送到客户端之前,它们被 PHP 脚本缩小。也许这可能是一条值得追求的道路?
  • 我也有同感,不幸的是,我现在更需要加快网站速度,而不需要进行可能破坏事情的更改(我刚从这里开始,他们似乎没有像我一样关心性能)。感谢您的意见,我会调查一下。

标签: php html css performance minify


【解决方案1】:

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

我能给出的最清楚的解释是 CSS:

在 Sublime Text 中打开项目,在激活正则表达式匹配选项的情况下执行“替换”,找到 \n\n(2 个回车符)并替换为 \n(1 个回车符)。

保存。

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

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

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

然后我对: 进行了“查找全部”(紧随其后的是一个空格——在 Sublime Text 中,我只是突出显示了一个冒号和尾随空格,然后选择了“全选”选项(command+control+g on Mac)。

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

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

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

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

【讨论】:

    猜你喜欢
    • 2022-10-02
    • 1970-01-01
    • 2012-03-04
    • 2012-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-25
    相关资源
    最近更新 更多