在php中组合和压缩多个JavaScript文件

我正在开发一个需要8个javascript文件的PHP应用程序(hello web2.0)。

我想知道什么是动态组合和压缩所有文件的最佳方式。 我是否正确地表达了这个问题?

最终结果是我在头文件中包含一个.js文件,而.js文件将在我的“includes / js”目录中包含.js文件。

谢谢。

你可以使用jsmin-php

他们的示例代码是:

require 'jsmin-1.1.1.php'; // Output a minified version of example.js. echo JSMin::minify(file_get_contents('example.js')); 

您可以通过以下操作轻松加入多个js文件:

 require 'jsmin-1.1.1.php'; // Output a minified version of example.js. echo JSMin::minify(file_get_contents('example.js') . file_get_contents('example2.js')); 

我使用Minify和我的jQuery / PHP项目取得了很大的成功。 它也包括缓存,因此没有太多开销。

我最后改变了一些事情并使用.htaccess将所有请求路由到我的javascript文件夹到minify脚本,例如:

  

将我的前端HTML路由放入我的minify脚本中,它将所有这些脚本作为一个脚本返回,压缩和缩小。 这样我就可以正常定义包含,一切都在幕后发生。

但是无论如何要检查他们网站上的用户指南 ,它有很好的文档记录,你应该能够以你想要的方式拉出你想要的东西。 哦,它也适用于CSS。

您可以使用Yahoo JavaScript Compressor ,这是一个命令行工具,您可以从PHP脚本开始。

您可以尝试PHP Speedy这将把您的JS文件组合并压缩为1个单独的文件。 它还会压缩您的HTML和CSS,您的页面加载速度会快很多。

  function compress($buffer) { /* remove comments */ $buffer = preg_replace("/((?:\/\*(?:[^*]|(?:\*+[^*\/]))*\*+\/)|(?:\/\/.*))/", "", $buffer); /* remove tabs, spaces, newlines, etc. */ $buffer = str_replace(array("\r\n","\r","\t","\n",' ',' ',' '), '', $buffer); /* remove other spaces before/after ) */ $buffer = preg_replace(array('(( )+\))','(\)( )+)'), ')', $buffer); return $buffer; } 

资料来源: http : //castlesblog.com/2010/august/14/php-javascript-css-minification