提问人:superUntitled 提问时间:5/15/2009 最后编辑:hughdbrownsuperUntitled 更新时间:2/22/2013 访问量:27656
在 php 中组合和压缩多个 JavaScript 文件
Combining and Compressing multiple JavaScript files in php
问:
我正在开发一个需要八个 javascript 文件(hello web2.0)的 PHP 应用程序。
我想知道动态组合和压缩所有文件的最佳方法是什么。 我对问题的措辞是否正确?
最终结果是,我会在标头中包含一个 .js 文件,而该 .js 文件将包含我的“includes/js”目录中的 .js 文件。
谢谢。
答:
7赞
Parrots
5/15/2009
#1
我已经在我的jQuery / PHP项目中使用了Minify,并取得了很大的成功。它还包括缓存,因此没有太多开销。
我最终改变了事情,并使用 .htaccess 将对我的 javascript 文件夹的所有请求路由到缩小脚本,例如:
<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。
评论
0赞
Michal - wereda-net
6/14/2014
我的缩小缓存文件夹总是空的,所以我不确定缓存是否正常工作
15赞
pgb
5/15/2009
#2
你可以使用 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'));
评论
1赞
superUntitled
5/16/2009
你会推荐这个而不是使用 Minify 吗?
0赞
pgb
5/16/2009
两者都使用 jsmin 来压缩 Javascript 文件。也许你应该用两个库压缩你的js文件并决定。不过,Minify 的缓存功能似乎不错。
0赞
Deebster
3/10/2012
它似乎没有得到维护,有一些悬而未决的问题
2赞
Michael J. Calkins
6/8/2013
这个答案有 2013 年版本吗?
2赞
TheHippo
5/15/2009
#3
您可以使用 Yahoo JavaScript Compressor,这是一个命令行工具,您可以从 PHP 脚本开始。
0赞
Steve C
1/23/2013
#4
您可以尝试 PHP Speedy这会将您的 JS 文件合并并压缩为 1 个文件。它还将压缩您的 HTML 和 CSS,您的页面加载速度会快得多。
-2赞
user956584
2/22/2013
#5
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
评论