simkimsia/asset_compress

安装: 263

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 3

分支: 125

类型:cakephp-plugin

v0.8 2013-03-20 01:49 UTC

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错误。
  • 添加了两个基本过滤器。JsMinCssMin现在是内置过滤器。它们都需要您将它们的库放在app/vendors中。
  • 添加了YUI Compressor的过滤器。添加了CSS和JavaScript过滤器。它们需要您将yuicompressor放在您的应用供应商目录中。
  • asset_compress shell现在可以生成构建文件。这允许您将资产生成集成到您的部署/构建脚本中。

0.2

  • 添加了构建文件的时间戳。
  • 修复了CSS文件的过滤器。
  • 资产压缩配置文件 asset_compress.ini 的位置已移动到 app/config/asset_compres.ini
  • 主题中的文件现在应该能够自动发现。