1 min read

按需加载

​如果我说“按需加载”是个伪特性,一定有人对我竖中指表示不服。

那么“按需加载”是什么?

​随着前端上的 JavaScript 文件越来越大,一次性下载并执行还没用到的代码,​这是浪费用户的时间。恰逢 JavaScript 模块化逐渐成熟,于是就可以考虑分割模块,某些尚未用到的模块,先不加载,等到用户要使用该功能时,才加载、执行。

又或者说图片,如果页面上图片较多,一次性连着不在 viewport 的图片全然请求回来,必要性不大,于是可以考虑不在 viewport 内的先不请求,等进入了 viewport 再请求。

我曾经提问过:

  1. 一次性等待 10 秒
  2. 每次都要等 0.5 ~ 1 秒

你选哪个?

很多人选 2,我问为什么,他们说,如果一次要等那么久时间,用户早跑了。

这个理由并不充分。

首先,许多产品、尤其是后台管理类的产品,等 10 秒用户也不会跑。这不是娱乐类的产品,可有可无。

其次,人的注意力有限,除了电话、短信、消息、广告弹出框等等意外以外,每次还要被“loading”打断的话,这个产品,我的感受只会是,去你妈的,按需加载。

我宁愿一次性等 10 秒,然后赶快把任务做完,关掉这个网页去睡觉。

报告问题 修订

如果你有自建 https 代理的需求,欢迎尝试 Phantom,一键搭建,方便快捷。查看 demo