gou*_*rav 42 javascript css php optimization minify
如何在运行/运行时缩小JS和CSS,以便我可以将原始代码结构保留在我的服务器中,如果它在运行时/飞行中缩小.
小智 19
经过大量搜索和网站优化后,我真的建议将此脚本用于CSS文件:
<style>
<?php
$cssFiles = array(
"style.css",
"style2.css"
);
$buffer = "";
foreach ($cssFiles as $cssFile) {
$buffer .= file_get_contents($cssFile);
}
$buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);
$buffer = str_replace(': ', ':', $buffer);
$buffer = str_replace(array("\r\n", "\r", "\n", "\t", ' ', ' ', ' '), '', $buffer);
echo($buffer);
?>
</style>
Run Code Online (Sandbox Code Playgroud)
它将所有css文件压缩为一个并将其过去为html,从而将额外请求的数量减少到零.如果您愿意,也可以创建自己的compressed.css文件,而不是将样式粘贴到html中.
我认为您的问题实际上应该是:我如何可靠且可重复地更新我的实时服务器?您需要的是一个自动部署脚本.我个人更喜欢Fabric,但还有其他工具可供使用.
自动部署脚本将允许你运行一个命令,将去住服务器和更新的源代码,运行任何部署步骤(如缩小JavaScript),然后重新启动Web服务器.
你真的不希望缩小JavaScript或CSS文件上的苍蝇,你应该在部署做一次,然后在你的代码中的变量可以指定这是否是一个活的部署与否.如果变量为true,则指向文件的链接应该是指向最小化版本的链接,如果它是假的,那么它们应该是正常版本.
有许多程序执行最小化,尚未提及的是JSMin.
如果您的目标是让您的JavaScript略微降低可读性,并在运行时执行此操作,则可以保持非常,非常简单.只需三行代码,您就可以在几毫秒内完成整体缩小.
// make it into one long line
$code = str_replace(array("\n","\r"),'',$code);
// replace all multiple spaces by one space
$code = preg_replace('!\s+!',' ',$code);
// replace some unneeded spaces, modify as needed
$code = str_replace(array(' {',' }','{ ','; '),array('{','}','{',';'),$code);
Run Code Online (Sandbox Code Playgroud)
这不会进行任何语法检查.使用此代码后代码可能无效.检查JS中的行尾,是';' 在哪里失踪?
dyn*_*mic -1
你需要system();这个
$ java -jar yuicompressor-xyzjar
http://developer.yahoo.com/yui/compressor/