创建共享条目

编辑本页

警告:您正在浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 4.4,现已不再维护。

本页的更新版本用于Sy欧宝娱乐app下载地址mfony 6.2(当前稳定版本)。

创建共享条目

谨慎

当这个方法仍然有效时,请参见通过将共享代码“分割”到单独的文件来防止复制用于在多个条目文件之间共享资产的首选解决方案。

假设您有多个输入文件和每一个需要jquery.在这种情况下,每一个输出文件将包含jQuery,降低您的用户体验。要解决这个问题,你可以提取公共库到包含在每个页面上的“共享”条目文件。

假设您已经有一个名为应用程序每一页都有。更新您的代码以使用createSharedEntry ()

1 2 3 4 5 6 7
Encore //…- . addentry ('app', './assets/js/app.js')+ . createsharedentry ('app', './assets/js/app.js'). addentry('首页','./assets/js/首页.js') . addentry ('blog', './assets/js/blog.js') . addentry ('store', './assets/js/store.js')

在进行此更改之前,如果两者都有app.js而且store.js需要jquery,然后jquery会被包装成这两个文件,这是浪费。通过使app.js你的“共享”条目,任何所需代码app.js(如jQuery)将不再被打包到任何其他文件中。这同样适用于任何CSS。

因为app.js包含其他条目文件所依赖的所有公共代码,它的脚本(和链接)标签必须在每个页面上。

提示

app.js当文件的内容发生变化时,其工作效果最好很少你在用长期的缓存.为什么?如果app.js包含以下应用程序代码经常更改,那么(当使用版本控制时),它的文件名散列将经常更改。这意味着您的用户将无法享受该文件(通常相当大)长期缓存的好处。

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