首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角8中的差动载荷是如何管理两个不同束的大小的?

角8中的差动载荷是如何管理两个不同束的大小的?
EN

Stack Overflow用户
提问于 2019-12-04 14:49:20
回答 1查看 2.5K关注 0票数 1

差异加载是一种策略,在部署的应用程序中,CLI构建两个单独的包。

默认情况下,角度CLI的版本8及更高版本支持差速加载。对于工作区中的每个应用程序项目,您可以配置如何基于应用程序项目中的浏览器列表和tsconfig.json文件生成构建。

如果我们有两个具有差异加载特性的单独包,它会导致构建大小问题和应用程序性能吗?

请分享您的建议,以便我可以选择这个功能与我的当前项目。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-04 15:19:07

差异加载是浏览器根据自身功能在现代JavaScript还是遗留JavaScript之间进行选择的过程。在默认情况下,我们通过执行应用程序的现代构建(es2015)和遗留构建(es5)来利用这一点。当用户加载应用程序时,他们将自动获得所需的包。

https://blog.angular.io/version-8-of-angular-smaller-bundles-cli-apis-and-alignment-with-the-ecosystem-af0261112a27

简而言之,它将使较新的浏览器与更新的功能捆绑在一起,而旧的浏览器将获得一个传输版本。因此,是的,它将增加服务器上应用程序的大小,但不会增加将要下载的包(您不会同时下载两个包等等)。

例如,如果您查看生成的index.html:

代码语言:javascript
复制
<script src="runtime-es2015.33c6d44d6f111520cede.js" type="module"></script>
<script src="runtime-es5.33c6d44d6f111520cede.js" nomodule defer></script>

带有type="moduletype="module标记将由较新的浏览器下载,它们将忽略带有nomodule属性的<script>

-- nomodule属性是一个布尔属性,它阻止在支持模块脚本的用户代理中执行脚本。

What’s the purpose of the HTML “nomodule” attribute for script elements if the default is text/javascript?

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59178721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档