fortrabbit/craft-asset-bundler

此软件包已被弃用且不再维护。未建议替代软件包。

提供发布 web/cpresources 的控制台命令

0.6.0 2018-04-11 22:19 UTC

This package is not auto-updated.

Last update: 2022-02-01 13:12:55 UTC


README

插件不再需要。在 Craft 3.0.4 中,发布 cpresources 的方式已更改。Craft 3.0.13 中还发布了另一个修复程序,以更改 CP 中的缩略图交付。

Craft CMS 3.x 的 AssetBundler 插件

插件提供了一个控制台命令来发布 web/cpresources。这在像 fortrabbit 的专业堆栈 这样的 "云环境" 或在 Heroku 上使用多个 Dynos 时很有用。

此命令的目的是在公开可访问的 /web 目录中发布 AssetBundles 文件。这已经在首次访问浏览器中的 Craft 控制面板时即时发生。然而,在负载均衡环境中,可能会发生文件在部署后在所有服务器上都不存在的情况。

Craft 还在 web/cpresources 中存储卷资产的缩略图以在控制面板中使其可访问。插件改变了这种行为

  • (默认模式) web/cpresources/{hash}/thumb-{width}x{height}.{ext}?v={modified_date}
  • (修改模式) web/t/{asset_id}/thumb-{width}x{height}.{ext}?v={modified_date}

这样我们就可以在某个服务器上不存在时即时创建缩略图。

用法

在将代码分发到所有服务器之前,在构建过程中使用此命令

php craft asset-bundler/publish

composer install 已成为您的部署过程的一部分时,您可以将命令包含在 composer.json 中以自动运行

"scripts": {    
    "post-install-cmd": [
      "@php craft install/plugin asset-bundler",
      "@php craft asset-bundler/publish"
    ]
  }

如何工作

  • 所有存在于 composer 自动加载类映射中的 AssetBundle 类都会被注册。
  • /web/cpresources.rev 文件中存储最新修订版本的时间戳
  • 文件位于 web/cpresources/{revision}/{hash}/file.ext
  • {revision} 仅在文件被修改时更改

边缘情况

craft\web\AssetManager::getPublishedUrl() 方法允许发布不属于 AssetBundle 的单个文件。由于插件不了解这些文件,您可能需要将它们添加到一个捆绑包中。

待办事项

  • 配置选项以包含额外的类
  • 配置选项以排除类从类映射