simkimsia / asset_compress
v0.8
2013-03-20 01:49 UTC
Requires
- php: >=5.3.0
- composer/installers: *
This package is not auto-updated.
Last update: 2024-09-14 14:09:10 UTC
README
Asset Compress 是一个 CakePHP 插件,旨在帮助减少请求数量,并优化应用程序对 JavaScript 和 CSS 文件的剩余请求。
功能
- 开发模式构建器,在每个请求上重建资源。
- 命令行构建工具,用于编译部署的静态资源。
- 内置对 LESScss、Sass 和 CoffeeScript 的支持,以及几个压缩器。
- 强大的灵活的过滤器系统,允许您添加自己的压缩器/预处理程序。
- 简单的配置文件。
- 增量构建,不需要重新编译资源时不会重新编译。
安装
将插件克隆或下载到您的插件路径之一。然后确保您加载了插件
// in app/Config/bootstrap.php
CakePlugin::load('AssetCompress', array('bootstrap' => true));
您应该确保在配置其他派发过滤器之后加载插件,因为以下内容将替换 AssetCompress 添加的配置。例如,使用默认的 bootstrap.php,您最终可能会得到以下内容:
// in app/Config/bootstrap.php
Configure::write('Dispatcher.filters', array(
'AssetDispatcher',
'CacheDispatcher'
));
CakePlugin::load('AssetCompress', array('bootstrap' => true));
将 Config/asset_compress.sample.ini
复制到 App/Config/asset_compress.ini
。从那里开始,阅读wiki 获取更多信息。
文档
AssetCompress 的文档可在 github wiki 页面 上找到。
问题
请将您对插件的任何问题报告到 github 上的 问题跟踪器。
许可
Asset Compress 在 MIT 许可证 下提供。
版权
2010-2012 Mark Story (http://mark-story.com)
作者
请参阅 github 贡献者列表
变更日志
0.8
向后不兼容的更改
- AssetCompress 至少需要 CakePHP 2.3.0。CakePHP 2.3.0 为派发过滤器添加了类型提示。虽然此版本可以与 CakePHP 2.2.x 一起使用,但它将触发 E_STRICT 错误。
其他更改
- 添加了 Hogan 过滤器。这为 mustache 模板提供了预编译功能。
0.7
向后不兼容的更改
- AssetCompress 至少需要 CakePHP 2.2.0。从 0.7 版本开始,控制器已被派发过滤器替换,这需要 CakePHP 2.2.0。
其他更改
- 现在为 less 过滤器设置了导入路径。
ROOT/
不再需要双斜杠才能正常工作。paths[]
现在可以包含远程 URL,允许您使用 CDN 或其他远程主机上的资源创建构建文件。paths[]
现在可以在构建目标内部定义。这允许您只扫描特定路径以进行特定构建。或者当您可能有不应在构建之间共享的重复文件名时。
0.6
向后不兼容的更改
baseUrl
现在仅在 debug = 0 时才有效。不再检查构建文件的存在。假设构建文件位于baseUrl
中指定的位置。因此,baseUrl
将需要包含目录名称。- 已删除
General.writeCache
。它使部署更加复杂。相反,已添加General.alwaysEnableController
以允许在生产中使用控制器而不是预生成的静态文件。默认值是 关闭。
其他更改
- 支持 CakePHP 2.0。
- 添加了
TimestampImage
过滤器类。此过滤器提供在CSS文件中用于背景图片的时间戳功能。这对于缓存失效的CSS精灵或其他CSS背景图片非常有用。 - 添加了用于配置文件的
ROOT/
路径变量。 - 添加了
ScssFilter
。 - 添加了对插件资产的支持,使用
p:PluginName:resource.xx
语法。
0.5
向后不兼容的更改
- 移除了ini文件中的General.debug标志。现在使用Configure::read('debug')。这意味着少了一个配置选项要管理。使用debug = 1来测试输出过滤器。
- 时间戳文件格式已更改。记得在升级时清除所有构建。
- 进行了多项内部API更改。如果您正在使用AssetCompress的内部功能,可能需要更新您的代码。
- 移除了
General.timestampFile
配置选项。现在始终使用时间戳文件。
其他更改
- 构建文件命名更为简单。现在可以省略前缀,而不是必须以扩展名作为前缀。扩展名将直接从构建文件名中读取。例如,您可以使用
library.js
而不是js_library.js
作为构建名称。 - 控制器/视图JavaScript文件现在将自动合并为最小化资产。
- 当使用shell时,后续构建将跳过仍然新鲜的资产目标。如果构建文件的mtime晚于构建目标中的所有文件,则目标被认为是新鲜的。可以使用
-force
选项忽略此行为。 - 如果您在js和css扩展中未定义
paths[]
键,AssetCompress将递归包含标准CakePHP目录中的所有路径。 - 添加了对主题的支持。当定义构建时,可以在构建定义中设置
theme = true
。当运行shell时,将为每个已安装的主题创建一个构建。主题支持仅适用于ini文件中定义的构建。 - 时间戳文件格式已更改,并包含每个构建的时间戳。这是增量构建功能的一部分要求。
0.4
向后不兼容的更改
- 插件内部重构和重新架构以使其更简单。
- 新的配置文件格式。
- 辅助方法更改,动态创建构建现在工作方式不同。
- 移除了注释剥离功能,您应使用内置的minifier集成之一来完成此操作。
- 将Sprockets功能和InlineImport功能提取到过滤器中。
- 辅助方法更改。
其他更改
- 添加了对CoffeeScript和LESS CSS的支持。
- 可以为生成的链接或样式表标签添加任何其他属性。
0.3
向后不兼容的更改
- 移除了javascript和css文件名的屈折变化。这影响辅助方法和每个文件类型支持的指令。
- 移除了在
afterRender()
回调中自动包含所有构建文件。现在您需要手动调用includeAssets()
。 - 默认构建文件现在是魔法哈希。魔法哈希构建文件使用组件的
md5()
作为构建文件名。这使得您能够轻松创建构建文件,而无需担心在整个应用程序中保持它们的唯一性。
其他更改
AssetCompressHelper::includeAssets()
接收一个数组,您希望在该调用中输出这些构建文件。这允许您将一些构建文件放置在文档顶部,而其他构建文件放置在底部。AssetCompressHelper::includeJs()
和AssetCompressHelper::includeCss()
已被添加。这些方法与includeAssets()
类似。每个方法都允许您只包含一些构建文件。- 不存在的资产现在返回404错误。
- 添加了两个基本过滤器。
JsMin
和CssMin
现在是内置过滤器。它们都需要您将它们的库放在app/vendors
中。 - 添加了YUI Compressor的过滤器。添加了CSS和JavaScript过滤器。它们需要您将yuicompressor放在您的应用供应商目录中。
- asset_compress shell现在可以生成构建文件。这允许您将资产生成集成到您的部署/构建脚本中。
0.2
- 添加了构建文件的时间戳。
- 修复了CSS文件的过滤器。
- 资产压缩配置文件 asset_compress.ini 的位置已移动到
app/config/asset_compres.ini
。 - 主题中的文件现在应该能够自动发现。