jsmin php,使用JSMin.php缩小Javascript

 2023-09-06 阅读 22 评论 0

摘要:我在服务器端有一个JSMin缩小的网站.问题是我的服务器在实现JSMin后变得很慢发生这种情况是因为有些URL会导入其他特定文件,并且这些文件会添加到缩小的文件中.现在我想知道是否应该始终将这些特定脚本加载到一个大的缩小文件中,或者我是否应该忘记这种方法并将脚本作为单独的

我在服务器端有一个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中这样的事情

// __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

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/4641.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息