Munee:一款强大的PHP资产管理工具,告别NodeJS
Munee 是一款基于PHP的资产管理工具,它能够编译LESS、SCSS或CoffeeScript,处理图像,压缩CSS和JS,并在服务器端和客户端动态缓存资产。它支持PHP 5.3及更高版本。本教程将讲解如何使用Munee简化模板中资产的包含方式,以及它的安装、工作原理和使用方法。Munee 为PHP应用的资产管理提供了一种替代NodeJS的方案。
核心优势:
为什么选择Munee?
Munee旨在简化资产管理。它动态执行许多我们以前必须手动完成的任务(即,当客户端请求资产时),从而节省时间。以下是您可能想要使用Munee的一些原因:
Munee的工作原理:
安装Munee后,它会自动开始在服务器上缓存资产,发送正确的客户端缓存头,并开始发送gzip压缩的响应,以及对请求的LESS、SCSS和CoffeeScript文件的编译输出。
要为处理图像或压缩CSS和JS文件提供指令,您需要向资产路径添加查询字符串参数。
为了能够处理或压缩资产,Munee需要拦截客户端对CSS、LESS、SCSS、JS、CoffeeScript和各种图像格式文件的请求。为了让Munee拦截对这些资产的客户端请求,我们需要向.htaccess文件添加内部重写规则(Nginx说明也在下面)。
Munee使用其他第三方库(如imagine、leafo、meenie、tedivm等)来调整大小、处理、编译和压缩资产。
用于向Munee提供指令的查询字符串参数称为过滤器。
Munee如何缓存资产?
为了实现客户端缓存,它在发送请求资产的响应时设置Cache-Control: must-revalidate标头。它还会读取HTTP请求中的缓存标头,并根据客户端缓存中是否有最新资产来发送响应或304 Not Modified状态。
为了实现服务器端缓存,它将编译、压缩和处理后的资产存储在单独的目录中。
它可以在运行时检测原始资产的更改。当它检测到原始资产的更改时,它会更新服务器缓存,并强制客户端使用最新文件。
安装Munee:
使用以下命令安装:
composer require meenie/munee
如果您尝试在共享托管服务器上安装Munee,请在本地计算机上手动使用composer require Munee,并将vendor目录上传到托管服务器。
现在我们需要创建一个PHP文件,该文件负责使用Munee优化、处理、编译和压缩资产。为此,创建一个名为munee.php的PHP文件:
<?php require "vendor/autoload.php"; echo \Munee\Dispatcher::run(new \Munee\Request());
现在我们需要将对CSS、LESS、SCSS、JS、CoffeeScript和各种图像格式文件的资产请求重定向到munee.php。我们可以使用服务器的内部URL重写规则来实现这一点。
如果您使用的是Apache,请将此代码放在放置munee.php文件的目录的.htaccess文件中:
RewriteEngine On RewriteRule ^(.*\.(?:css|less|scss|js|coffee|jpg|png|gif|jpeg))$ munee.php?files=/ [L,QSA,NC]
如果您使用的是Nginx,则必须根据此问题和此gist修改实际虚拟主机设置以进行URL重写规则。
如果您的服务器上禁用了.htaccess,或者您不想使用.htaccess进行重写,那么您可以手动将文件路径传递到munee.php,而不是在HTML中使用资产路径。
在本教程的其余部分,我们将假设您使用的是.htaccess。
安装Munee的目录树中的所有资产都将被优化。
(以下内容为对原文剩余部分的精简概括,避免重复冗余)
编译SCSS、LESS和CoffeeScript: 只需在HTML中指向这些文件,Munee将自动处理服务器端的编译。
压缩CSS和JS文件: 在HTML中资产路径添加minify=true
参数即可。
处理图像: Munee允许动态调整图像大小、裁剪和着色,并支持灰度、负片转换以及缺失图像的占位符。 可以使用resize
过滤器控制图像大小和裁剪,placeholders
数组在munee.php
中配置缺失图像的替代方案。 Munee内置安全机制防止恶意图像处理请求。
组合资产: 在HTML中使用逗号分隔文件路径即可组合多个CSS或JS文件。
Munee API: 提供API供应用程序手动优化资产。
总结: Munee是动态管理资产的理想选择。
常见问题解答 (FAQ): (原文FAQ部分已精简概括,保留核心信息)
Munee是一个独立的PHP库,用于自动化多种Web性能优化任务。它与其他工具相比,无需额外软件,高度灵活可定制,支持多种文件类型和优化技术。 它可以处理图像优化、CSS和JavaScript优化,并支持自定义优化设置。 系统要求为PHP 5.3或更高版本,以及GD库和LESS/SCSS编译库。
以上是Munee的自动资产优化的详细内容。更多信息请关注PHP中文网其他相关文章!