编程语言
首页 > 编程语言> > 使用JSMin.php缩小Javascript

使用JSMin.php缩小Javascript

作者:互联网

我在服务器端有一个JSMin缩小的网站.问题是我的服务器在实现JSMin后变得很慢

发生这种情况是因为有些URL会导入其他特定文件,并且这些文件会添加到缩小的文件中.

现在我想知道是否应该始终将这些特定脚本加载到一个大的缩小文件中,或者我是否应该忘记这种方法并将脚本作为单独的文件导入.

我正在使用Zend Framework 1.11.x和BundlePhu JSMin

解决方法:

我在许多项目中实现的最佳解决方案是将所有javascript拆分为最大200kb的有限文件.我总是把JS分成两个(或者很少三个)文件.第一个是库(jquery,zepto,swfobject,bootup ……)和“用户代码”(我自己的$().点击…).

我在/ js文件夹中有一个.htaccess,它将所有scripts.js?version = 45445重写为compiler.php.然后编译器脚本验证版本号,检查缓存的编译脚本并返回它.如果未找到,则动态编译,放置在缓存中并返回它.这样js每小时都会编译一次,并且它总是缩小.

我很高兴你关心你用压缩保存的1kb.

这是一个示例代码:

#.htaccess
RewriteEngine on
RewriteRule ^scripts_(\d+).js(.*)$__compress_js.php?_v=$1 [L]

然后在PHP中这样的事情

<?php
// __compress_js.php
ob_start();
include 'config.php';
$cache = FileCache::getInstance();
$cache->setPath(CACHE_PATH);

$cache_key = '_compressed_' . VERSION . '.js';

if ( ! $cache->check($cache_key, 3600)){
    $js = JSMin... // array of files
    $cache->write($cache_key, $js);
}
Header::js();
echo $cache->read($cache_key, 3600);

上述解决方案只会减慢FIRST命中率.其他人都提供缓存的javascript.

标签:javascript,php,performance,zend-framework,minify
来源: https://codeday.me/bug/20190901/1780640.html