资产版本化 编辑本页 警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 4.1,现已不再维护。 读本页的更新版本用于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.每个文件都是类似的,并且包含到最终版本化文件名的映射。 第一个文件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')}}"> 资产组件 此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。