资产版本化
编辑本页警告:您正在浏览的文档欧宝官网下载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的标志”>
enableVersioning ()
时,每个文件名都将包含一个哈希值,该哈希值在内容文件更改(例如:app.123abc.js
而不是app.js
).这允许你使用积极的缓存策略(例如,遥远的未来到期
)因为,只要一个文件改变了,它的哈希就会改变,忽略任何现有的缓存:1 2 3 4 5 6 7
// webpack.config.js //…Encore .setOutputPath('public/build/') //…+ .enableVersioning ()
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许可证。