2

使用Yuicompressor最小化scriptS非常容易。不幸的是,在使用 php.ini 执行 JAR 时,这个过程非常缓慢。exec

示例(PHP):

    // start with basic command
    $cmd = 'java -Xmx32m -jar /bin/yuicompressor-2.4.8pre.jar -o \'/var/www/myscript.min.js\' \'/var/www/myscript.min.temp.js\'';

    // execute the command
    exec($cmd . ' 2>&1', $ok);

~20 个文件的执行时间最多需要 30 秒!在具有 8GB 内存的四核服务器上。

有人知道更快的解决方案,以尽量减少一堆脚本吗?

4

1 回答 1

1

执行时间主要取决于文件大小。

让我们尝试一下Google Closure Compiler

将结果缓存在文件中或使用一些扩展(APC、Memcached)与客户端缓存标头的组合也是一个好主意。如果您使用 filemtime() 检查上次修改时间,您将知道是否需要缩小。

我经常按文件使用单独的缓存,以防止缩小大内容,然后创建一个整体的 MD5 校验和,如果自上次请求以来它被修改,则保存新的校验和并打印出内容,否则只需使用:

header('Not Modified', true, 302);

通过这种方式,每个请求的计算也很少,也处于开发状态。我正在为我当前的项目使用 ExtJS 4,原始大小为 1.2 MB,许多项目代码没有任何问题,响应时间不到 1 秒。

于 2012-11-15T03:56:20.230 回答