Rails 请教下,Rails + Turbolinks 如何做首屏加载 loading

stephen · 2020年10月02日 · 最后由 Rei 回复于 2020年10月02日 · 728 次阅读

请教下,rails + turbolinks 如何做首屏加载 loading

尝试了 turbolinks 各种事件,但是都没有符合首屏加载

噗,用 turbolinks 的网站一般用服务端渲染,没有 SPA 那么长的客户端渲染时间需要加 loading 动画。

硬要加的话,把主体部分设成 display: none,loading 部分设成可视,然后在 turbolink:load 事件里面把两者显示切换过来。如果加载太快就用 setTimeout 再等几秒。

其实我也不想用,但是已经用上了 CDN,全站加速,什么都弄了,但是第一次访问的时候,还是很慢,白屏 2-3 秒😂

stephen 回复

先分析一下是哪里慢,服务器响应慢的话优化服务器(算法或缓存),网络慢的话看 CDN 是否生效。

如果确实有很慢的服务器查询无法优化,那么可以考虑用分布加载等方案,这个要看你喜欢怎么做了,不一定要动 Turbolinks,例如可以用 Stimulus 写一个异步加载的 controller(官方例子),在这个 controller 实现 loading 动画。

具体情况具体分析。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号