fortrabbit / craft-asset-bundler
此软件包已被弃用且不再维护。未建议替代软件包。
提供发布 web/cpresources 的控制台命令
0.6.0
2018-04-11 22:19 UTC
Requires
- craftcms/cms: ^3.0.0
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
的单个文件。由于插件不了解这些文件,您可能需要将它们添加到一个捆绑包中。
待办事项
- 配置选项以包含额外的类
- 配置选项以排除类从类映射