innoweb / silverstripe-prefix-requirements
为所有需求添加文件哈希前缀。替换默认的 ?{mtime} 后缀,使需求完全可缓存。
3.0.2
2023-03-19 13:08 UTC
Requires
- silverstripe/framework: ^5
- webmozart/glob: ^4.6.0
Replaces
README
概览
为所有需求添加文件哈希前缀。替换默认的 ?{mtime} 后缀,使需求完全可缓存。
每当CSS或JavaScript文件更改时,就会生成一个新的带前缀的文件版本。这使得文件完全可缓存,因为每当进行更改时,都会在HTML中包含一个新的URL文件。
建议使用Grunt或Gulp(或任何其他您可能想使用的技术)压缩CSS文件。
需求
- SilverStripe CMS 5.x
注意:此版本与SilverStripe 5兼容。对于SilverStripe 4,请参阅2.x版本分支。对于SilverStripe 3,请参阅1.x版本分支。
安装
- composer require innoweb/silverstripe-prefix-requirements
- 运行 dev/build
使用方法
带前缀的文件由系统自动生成并存储在Requirements_Backend
类的默认CombinedFilesFolder
中。您可以在您的config.yml
中使用以下条目来指定存储生成的文件的路径
SilverStripe\View\Requirements_Backend: default_combined_files_folder: '_your_folder'
默认为ASSETS_DIR . '/_combinedfiles'
。
此模块不处理CMS中的CSS和JavaScript。
由于文件被移动到配置的CombinedFilesFolder
中,请确保您在CSS和JavaScript文件中只使用相对于网站根目录的路径。例如:/_resources/themes/yourtheme/images/icon.png
,而不是../images/icon.png
。
您可以使用配置排除某些需求的重写
Innoweb\PrefixRequirements\Control\PrefixResourceURLGenerator: excluded_resources: - 'vendor/lekoala/silverstripe-debugbar/**/*' - 'vendor/jonom/silverstripe-betternavigator/**/*'
您还可以更改用于哈希的格式,并将其从前缀切换为后缀
Innoweb\PrefixRequirements\Control\PrefixResourceURLGenerator: nonce_style: [mtime|sha1|md5] use_postfix: true
许可证
BSD 3-Clause License,请参阅许可证