资产版本化

编辑本页

警告:您正在浏览的文档欧宝官网下载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的标志”>

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