资产版本化
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 3.4,现已不再维护。
读本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。
厌倦了使用浏览器缓存旧版本的资产?通过调用enableVersioning ()
时,每个文件名都将包含一个哈希值,该哈希值在内容文件更改(例如:app.123abc.js
而不是app.js
)。这允许你使用积极的缓存策略(例如,遥远的未来到期
)因为,只要一个文件改变了,它的哈希就会改变,忽略任何现有的缓存:
1 2 3 4 5 6 7
// webpack.config.js //…Encore .setOutputPath('web/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
版本控制策略config.yml
:
1 2 3 4 5 6
# app / config / config.yml框架:#……资产:#特性在Symfony 3.3及更高版本中得到支持ob娱乐下载json_manifest_path:' % kernel.project_dir % / web /构建/ 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('web/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
版本控制策略config.yml
:
1 2 3 4 5 6
# app / config / config.yml框架:#……资产:#特性在Symfony 3.3及更高版本中得到支持ob娱乐下载json_manifest_path:' % kernel.project_dir % / web /构建/ manifest.json”
就是这样!只需要确保在Twig中包装每个路径资产()
功能正常:
1
<imgsrc="{{asset('build/images/logo.png')}}"alt=“ACME的标志”>