构建庞大的应用程序资产

时间:2016-07-21 07:32:54

标签: javascript css dynamic architecture request

我们即将完全重建客户网站,目前有超过1000页。

会有一个剔除,但我的想法是根据页面上的内容动态加载资产,但我想得到反馈。

假设我有100个全局组件(轮播,按钮,视频,Nah等),我们现在只需将所有组件的所有javascript放入bundle.js文件中,与css相同,但是,如果一个页面只使用这100个组件中的3个,那么包含所有内容似乎是多余的。

所以我想我的问题是,如果在运行时仅动态请求所使用的组件而不是每次都加载所有资产是错误的吗?

我可以看到的一个重大缺点是,几乎每个页面都会请求新文件,因此缓存会更难,而且还需要更多的HTTP请求。

但如果有人有更好的主意,请告诉我

1 个答案:

答案 0 :(得分:1)

首先,我建议采用基于证据的方法。如果没有数据可以做任何事情来支持决定。

我对整体方法的看法。我写这篇文章的时候正在思考React,但没有什么是React特有的。

  • 服务器 - 呈现您的内容。然后它将显示给您的用户,而不需要您的JavaScript包。
  • 获取一个好的CDN和/或类似清漆的东西并缓存每个路由/页面响应。无论网站有多大,您都可以获得快速的响应时间。
  • 现在,当用户访问某个页面时,他们会快速获取该页面,然后然后您异步下载您的JavaScript文件,这将使生活充满活力。
  • 因为用户已在阅读您的页面,您可以花时间加载JS - 最多一两秒。如果你认为大多数用户都会拥有体面的互联网(例如他们都是在韩国),那么我就会在2分钟的JS捆绑中大做一些,然后再去做分块。意见会有所不同,这取决于您。如果您的用户网络状况不佳(例如他们都在朝鲜),则每个kb都会计数,您的目标应该是制作每个页面所需的最小块。既速度又尊重用户'下载配额。