我目前正在编写一个javascript类,它根据站点的需要从我的服务器加载库。与Google API e.g. google.load('jquery','1.7.1')
非常相似。
我想做的其中一件事是将所有JS / CSS文件合并为一个并使用PHP缩小它们。我已经很好地了解了网络,虽然我能够在Stackoverflow上找到关于这个主题的一些问题,但它们似乎有点过时了。因此,结果,我决定重新开启这场辩论,以便获得有关这一主题的最新信息。
我能够在网上找到两个PHP Javascript minifiers,这些是
我确实找到了第三个(JSMin),但这个没有维护
我的问题非常简单:
答案 0 :(得分:5)
我没有使用JShrink或Javascript Packer。我认为最好的解决方案是使用Google's 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));
答案 1 :(得分:0)
我正在使用这个,它运作良好http://code.google.com/p/minify/
如果您在Windows上开发,可能无法识别新版本,但是修改文件会看到它