资产版本化

编辑本页

警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 5.2,现已不再维护。

本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。

厌倦了使用浏览器缓存旧版本的资产?通过调用enableVersioning ()时,每个文件名都将包含一个哈希值,该哈希值在内容文件更改(例如:app.123abc.js而不是app.js).这允许你使用积极的缓存策略(例如,遥远的未来到期)因为,只要一个文件改变了,它的哈希就会改变,忽略任何现有的缓存:

1 2 3 4 5 6 7
// webpack.config.js //…Encore .setOutputPath('public/build/') //…+ .enableVersioning ()

为了链接到这些资产,Encore创建了两个文件entrypoints.json而且manifest.json

entrypoints.json&manifest.json

无论何时运行Encore,都会生成两个配置文件:entrypoints.json而且manifest.json.每个文件都是类似的,并且包含到最终版本化文件名的映射。

第一个文件entrypoints.json-用于encore_entry_script_tags ()而且encore_entry_link_tags ()树枝帮手。如果您正在使用这些文件,那么您的CSS和JavaScript文件将以新的、版本化的文件名呈现。如果您没有使用Symfony,您的应用程ob娱乐下载序将需要以类似的方式读取该文件。

manifest.json文件只需要获得的版本化文件名其他文件,如字体文件或图像文件(尽管它也包含关于CSS和JavaScript文件的信息):

1 2 3 4 5
“构建/ app.js”“/构建/ app.123abc.js”“构建/ dashboard.css”“/构建/ dashboard.a4bf2d.css”“构建/图片/ logo.png”“/构建/图片/ logo.3eed42.png”

在你的应用程序,你需要读取这个文件,如果你想要能够链接(例如通过一个img标签)到某些资产。如果您正在使用Symfony,只ob娱乐下载需激活json_manifest_file版本控制策略:

1 2 3 4 5
#此文件在使用Symfony Flex安装Encore时自动添加ob娱乐下载#配置/包/ assets.yaml框架:资产:json_manifest_path:' % kernel.project_dir % /公共/构建/ manifest.json”

就是这样!确保将每个路径都包装在Twig中资产()功能正常:

1
<imgsrc{{asset('build/images/logo.png')}}alt“ACME的标志”>

此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。