我正在开发一个需要八个 javascript 文件(hello web2.0)的 PHP 应用程序。
我想知道动态组合和压缩所有文件的最佳方法是什么。我是否正确地表达了这个问题?
最终结果是我将在标题中包含一个 .js 文件,并且该 .js 文件将包含我的“includes/js”目录中的 .js 文件。
谢谢。
我正在开发一个需要八个 javascript 文件(hello web2.0)的 PHP 应用程序。
我想知道动态组合和压缩所有文件的最佳方法是什么。我是否正确地表达了这个问题?
最终结果是我将在标题中包含一个 .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'));
我在我的 jQuery/PHP 项目中使用了Minify ,并取得了很大的成功。它也包括缓存,因此没有太多开销。
我最终改变了事情并使用 .htaccess 将所有请求路由到我的 javascript 文件夹到 minify 脚本,例如:
<script type="text/javascript" src="/js/jquery.js,js/jquery-levitip.js,js/jquery-facebox.js,js/datepicker.js,js/ga.js"></script>
将我的前端 HTML 路由到我的缩小脚本中,它将所有这些脚本作为一个,压缩和缩小返回。这样我就可以正常定义包含,一切都发生在幕后。
但无论如何,请查看他们网站上的用户指南,它有很好的文档记录,您也应该能够按照您想要的方式进行操作。哦,它也适用于 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