【问题标题】:PHP - JS and CSS minifier [closed]PHP - JS 和 CSS 缩小器 [关闭]
【发布时间】:2011-11-16 13:36:54
【问题描述】:

我有一个简单的 CSS 缩小器……它所做的只是删除空格和 cmets。我对此很满意,但如果有更好的 - 请告诉我。

现在对于 JS 缩小器,我在这里有一个野兽:https://github.com/rgrove/jsmin-php/blob/master/jsmin.php 当然,我有一些很长的 JS 脚本。我想要一些很长的东西,以便快速缩小。缩小 jQuery(我知道它已经缩小了)需要 2 秒,有时甚至需要 4 秒或更多!我不会有 jQuery 那样大的文件,但我可能会得到一半大,我怀疑 1-2 秒来加载单个 JS 文件非常有吸引力。

我想知道那里是否有一些快速缩小器?我只需要一个缩小器,我不需要组合、缓存等的东西。

【问题讨论】:

  • 我阅读了您对 Genesis 答案的评论。如果您缓存缩小的输出,我不明白为什么缩小需要多长时间很重要?当我阅读它时,2-4 秒只会在你第一次缩小你的包时发挥作用。随后的调用应该从缓存中提取缩小的代码。我错过了什么吗?
  • 我想你正在寻找这个github.com/c9s/pecl-cssmin

标签: php javascript css minify


【解决方案1】:

我建议你看看Assetic library。 使用 Assetic,您可以从 PHP 端根据需要应用过滤器管理所有资产

【讨论】:

  • 它很慢,因为它是基于 symfony 的组件。
  • @c9s 这不是 Symnfony 捆绑包。顺便说一下,一旦生成文件,开销是多少?
【解决方案2】:
<?php
$js = file_get_contents($_GET['f']);
$md = md5($js); // you can use sth faster, such as date comparsion
if (file_exists('cache/'.$md.'.js')) {
  echo file_get_contents('cache/'.$md.'.js');
} else {
  $min = yourJsMinifierFunc($js);
  file_put_contents('cache/'.$md.'.js', $min);
  echo $min;
}

好的,它应该适合你。一旦您修改了 .js 文件,它就会被缩小和缓存。

【讨论】:

  • 这是一种更好的方法,我认为我正在使用它。谢谢:)
【解决方案3】:

您不需要快速缩小器 - 只需在您进行更改时构建(缩小)新版本的 javascript 并将其全部保存到 js 文件中

【讨论】:

  • 我想 OP 打算在旅途中缩小代码。
  • @Cyclone:是的,但他永远不能比使用单个 js 文件更快 - 我认为 DL 时间会比未缩小的文件更长
  • 我的意思是,javascript 代码是动态的,或者基于用户输入或其他东西。显然 OP 不应该让代码缩小静态 js。
  • 好吧,我不在缩小版中编码。我在 php 读取的 xml 文件中有包。它会将所有文件组合在一个包中,并获取每个文件的内容并将其构建在一起。我缩小它,缓存输出......然后它转到浏览器。我不明白你在保存之前缩小它的意思。这只需要……努力?
  • 所以...我不确定我应该做什么。
猜你喜欢
  • 2011-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-02
  • 2013-06-28
  • 2014-07-15
  • 1970-01-01
相关资源
最近更新 更多