jhancock / yii2-version-assetmgr
此包已废弃,不再维护。没有建议的替代包。
基于应用程序版本而不是mtime进行哈希的Yii2资产管理器。适用于负载均衡网站。
1.0.0
2014-08-14 04:28 UTC
Requires
- yiisoft/yii2: *
Requires (Dev)
- phpunit/phpunit: 4.1.*
This package is not auto-updated.
Last update: 2022-04-11 15:30:10 UTC
README
一个为Yii2框架提供的即插即用AssetManager。Yii的默认AssetManager基于路径 + Yii版本 + 文件修改时间对资源进行哈希,但如果您的网站由多个Web服务器通过负载均衡器提供服务,并且文件mtime不同,这可能导致从不同的路径提供资源。
为了解决这个问题,VersionAssetManager基于路径 + Yii版本 + 应用程序版本进行哈希。应用程序版本从配置文件中params
数组的version
键读取
'params' => [
'version' => '1.0.0'
],
安装
安装此扩展的首选方式是通过composer。
运行以下命令之一
php composer.phar require --prefer-dist jhancock/yii2-version-assetmgr "*"
或添加
"jhancock/yii2-version-assetmgr": "*"
到您的composer.json
文件的require部分。
配置
通过添加以下组件配置来配置您的应用程序使用VersionAssetManager
'assetManager' => [
'class' => 'jhancock\VersionAssetMgr\VersionAssetManager',
],
然后,在发布您的应用程序时,您应该在params
数组中设置一个version
参数。
在开发环境中,您可以在配置中省略设置version
键,将其设置为Development
,或完全省略它,它将默认为Development
。当版本为Development
时,我们将使用path + Yii版本 + time()进行哈希,以确保在开发环境中始终清除缓存。这意味着每次页面加载都会在您的assets
目录下创建新的文件夹并复制大量文件。因此,建议您在assetManager
组件配置中将linkAssets
设置为true
,如下所示
'assetManager' => [
'class' => 'jhancock\VersionAssetMgr\VersionAssetManager',
'linkAssets' => true,
],