繁体   English   中英

根据要求使用PHP压缩JS / CSS文件

[英]Minifying JS/CSS Files on request with PHP

我目前正在编写一个javascript类,该类将根据站​​点的需要从服务器中加载库。 类似于Google API, eg google.load('jquery','1.7.1')

我想做的一件事是将所有JS / CSS文件合并为一个,并使用PHP最小化它们。 我环顾四周,尽管我能够在Stackoverflow上找到一些有关此主题的问题,但它们似乎有些过时了。 因此,因此,我决定重新开始这场辩论,以获取有关该主题的最新信息。

我能够在网上找到两个PHP Javascript缩小器,它们是

  1. JShrink
  2. Javascript Packer

我确实确实找到了第三个(JSMin),但是这个没有维护

我的问题很简单:

  1. 这些脚本是否可靠并得到维护? 他们甚至需要维护吗?
  2. 他们会压缩CSS吗?
  3. 哪个脚本更好?

我没有使用JShrink或Javascript Packer。 我认为最好的解决方案是使用Google的Closure Compiler进行JS压缩。 您可以在服务器上使用他们的命令行Java应用程序(如果您有权这样做),也可以通过cURL或Zend_Request访问他们的RESTful API。

如果源文件没有更改,请不要忘记缓存缩小的文件并重新使用它们。

使用cURL看起来像这样:

$inFile = "sample.js";
$outFile = "sample.min.js";

$ch = curl_init('http://closure-compiler.appspot.com/compile');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array(
  'js_code' => file_get_contents($inFile),
  'compilation_level' => 'SIMPLE_OPTIMIZATIONS',
  'output_format' => 'text',
  'output_info' => 'compiled_code'
)));

file_put_contents($outFile, curl_exec($ch));

我正在使用这一工具,效果很好http://code.google.com/p/minify/

如果您在Windows上进行开发时会遇到一些问题,可能无法识别新版本,但是修改文件后它将看到它

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM