2

我目前正在编写一个 javascript 类,该类根据站点的需要从我的服务器加载库。很像 Google API e.g. google.load('jquery','1.7.1')

我想做的一件事是将所有 JS/CSS 文件合并为一个,并使用 PHP 将它们缩小。我仔细浏览了网络,虽然我能够在 Stackoverflow 上找到一些与该主题相关的问题,但它们似乎有些过时了。因此,因此,我决定重新开始这场辩论,以获得关于这个主题的一些最新信息。

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

  1. 收缩
  2. Javascript 打包器

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

我的问题很简单:

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

2 回答 2

5

我没有使用 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));
于 2012-10-23T13:10:21.107 回答
0

我正在使用这个,它运行良好http://code.google.com/p/minify/

如果你在windows上开发有一些问题,可能无法识别新版本,但修改文件,它会看到它

于 2012-10-23T13:01:24.383 回答