资产版本化
编辑该页面
厌倦了部署和旧版本的浏览器的缓存你的资产?通过调用enableVersioning ()
,每个文件名将包括一个散列,每当变化内容文件更改(如。app.123abc.js
而不是app.js
)。这允许您使用激进的缓存策略(如远未来到期
),因为,只要一个文件发生变化,其散列将会改变,无视任何现有缓存:
1 2 3 4 5 6 7
/ / webpack.config。js / /……安可.setOutputPath(公共/构建/)/ /……+ .enableVersioning ()
链接到这些资产,安可创建两个文件entrypoints.json
和manifest.json
。
entrypoints.json&manifest.json
当你运行安可,两个配置文件生成在你的输出文件夹(默认位置:公共/构建/
):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安可ob娱乐下载#配置/包/ assets.yaml框架:资产:json_manifest_path:' % kernel.project_dir % /公共/构建/ manifest.json”
就是这样!一定要包装每条路径的树枝资产()
功能正常的:
1
<imgsrc=”{{资产(“构建/图片/ logo.png”)}}”alt=“ACME的标志”>
enableVersioning ()
,每个文件名将包括一个散列,每当变化内容文件更改(如。app.123abc.js
而不是app.js
)。这允许您使用激进的缓存策略(如远未来到期
),因为,只要一个文件发生变化,其散列将会改变,无视任何现有缓存:1 2 3 4 5 6 7
/ / webpack.config。js / /……安可.setOutputPath(公共/构建/)/ /……+ .enableVersioning ()
entrypoints.json
和manifest.json
。entrypoints.json&manifest.json
当你运行安可,两个配置文件生成在你的输出文件夹(默认位置:公共/构建/
):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安可ob娱乐下载#配置/包/ assets.yaml框架:资产:json_manifest_path:' % kernel.project_dir % /公共/构建/ manifest.json”
就是这样!一定要包装每条路径的树枝资产()
功能正常的:
1
<imgsrc=”{{资产(“构建/图片/ logo.png”)}}”alt=“ACME的标志”>
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。