资产版本化

编辑该页面

厌倦了部署和旧版本的浏览器的缓存你的资产?通过调用enableVersioning (),每个文件名将包括一个散列,每当变化内容文件更改(如。app.123abc.js而不是app.js)。这允许您使用激进的缓存策略(如远未来到期),因为,只要一个文件发生变化,其散列将会改变,无视任何现有缓存:

1 2 3 4 5 6 7
/ / webpack.config。js / /……安可.setOutputPath(公共/构建/)/ /……+ .enableVersioning ()

链接到这些资产,安可创建两个文件entrypoints.jsonmanifest.json

entrypoints.json&manifest.json

当你运行安可,两个配置文件生成在你的输出文件夹(默认位置:公共/构建/):entrypoints.jsonmanifest.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安可ob娱乐下载#配置/包/ assets.yaml框架:资产:json_manifest_path:' % kernel.project_dir % /公共/构建/ manifest.json”

就是这样!一定要包装每条路径的树枝资产()功能正常的:

1
<imgsrc={{资产(“构建/图片/ logo.png”)}}alt=“ACME的标志”>

这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。
ob娱乐下载Symfony 5.4支持通过私人Packagist