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

stephen · October 02, 2020 · Last by Rei replied at October 02, 2020 · 729 hits

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

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

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

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

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

Reply to stephen

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

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

具体情况具体分析。

You need to Sign in before reply, if you don't have an account, please Sign up first.