innoweb/silverstripe-prefix-requirements

为所有需求添加文件哈希前缀。替换默认的 ?{mtime} 后缀,使需求完全可缓存。

安装次数: 1,528

依赖关系: 0

建议者: 0

安全性: 0

星标: 2

关注者: 5

分支: 1

开放问题: 0

类型:silverstripe-vendormodule

3.0.2 2023-03-19 13:08 UTC

This package is auto-updated.

Last update: 2024-09-08 07:07:34 UTC


README

概览

为所有需求添加文件哈希前缀。替换默认的 ?{mtime} 后缀,使需求完全可缓存。

每当CSS或JavaScript文件更改时,就会生成一个新的带前缀的文件版本。这使得文件完全可缓存,因为每当进行更改时,都会在HTML中包含一个新的URL文件。

建议使用Grunt或Gulp(或任何其他您可能想使用的技术)压缩CSS文件。

需求

  • SilverStripe CMS 5.x

注意:此版本与SilverStripe 5兼容。对于SilverStripe 4,请参阅2.x版本分支。对于SilverStripe 3,请参阅1.x版本分支

安装

  1. composer require innoweb/silverstripe-prefix-requirements
  2. 运行 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,请参阅许可证