12

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

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

最终结果是我将在标题中包含一个 .js 文件,并且该 .js 文件将包含我的“includes/js”目录中的 .js 文件。

谢谢。

4

5 回答 5

15

你可以使用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'));
于 2009-05-15T14:17:00.767 回答
7

我在我的 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。

于 2009-05-15T14:16:49.550 回答
2

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

于 2009-05-15T14:17:47.970 回答
0

您可以尝试PHP Speedy这将为您组合并压缩您的 JS 文件为 1 个单个文件。它还将压缩您的 HTML 和 CSS,并且您的页面将加载得更快。

于 2013-01-23T05:45:12.063 回答
-2
 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

于 2013-02-21T17:55:48.393 回答