fouber / blog

没事写写文章,喜欢的话请点star,想订阅点watch,千万别fork!
22.64k stars 2.37k forks source link

模块化打包的大潮中,如何处理静态页面? #40

Open yinjun1991 opened 6 years ago

yinjun1991 commented 6 years ago

云龙大神,您好: 目前我所在的项目遇到了一些工程化方面的问题,想向您咨询一下。 我们的项目是 native 内嵌的页面,每个页面之间并没有太强的逻辑关联,大概就是 native 从某个入口进入某个 H5页面。部分 H5页面是一些纯静态的规则展示,或者少量的使用 vue 的交互。

问题来了:我们使用的一个多页打包工具,将入口文件 global.js 以及抽离公共模块形成的 vendor.js manifest.js 都注入了每个页面(每个页面再有自己的 js 文件)。导致这些静态页面打开时很慢,因为 vendor 等 js 文件的加载和运行花费了挺长的时间。

虽然大部分页面都用到了 vendor manifest 等公共模块;但是部分静态页面(数量大约占10%) 并不需要这些模块,怎么才能对这些静态页面做特殊处理,让它们加载更快呢?

希望您能提供一些思路,非常感谢。

mengti commented 6 years ago

我的做法和你一样,也在纠结这个问题,为了提速我把静态页面都放cdn了。

elvismacak commented 6 years ago

个人感觉 从业务的角度来看, 这个也只能这么做了

不过也可以尝试一下 preload.

On Tue, Dec 26, 2017 at 8:25 AM 陈海洋 notifications@github.com wrote:

我的做法和你一样,也在纠结这个问题,为了提速我把静态页面都放cdn了。

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/fouber/blog/issues/40#issuecomment-353897511, or mute the thread https://github.com/notifications/unsubscribe-auth/AEzh5BhHLIV2I8bZI-kXal3v9cTQOT1nks5tEDzngaJpZM4Qwg5z .

-- Best regards, Elvis

specialgirlgotoheaven commented 6 years ago

利用Code Splitting实现了webpack的分批打包、按需下载

YardWill commented 6 years ago

为了追求性能,静态页面为何不抛开框架?

xuexb commented 6 years ago

我们做法是:文件名 MD5 化 + CDN + max-age ,倒是没有太在意文件体积(当然是初期目标是上线,后续肯定得优化)。

baidan commented 6 years ago

直接抛开框架,用最简单的gulp工程化即可

jun-lu commented 5 years ago

静态页面为什么不单独来发布呢!做一些简单的工具,把静态页面拎出来,让他们可以简单的发布到cdn就好了。

joket1999 commented 5 years ago

要么gulp ,或者用百度的fis3也可以啊

dengxinglin commented 4 years ago

为了提速我把静态页面都放cdn了

zombie110year commented 4 years ago

有人会渐进式网页应用的吗?在访问的时候,客户端通过 Service Worker 在本地不断地缓存内容。