[前端] Nuxt 服务器渲染,有大佬遇过浏览器当前页面刷新,不执行 asyncData 方法的吗?(非 query 的问题)

2019-07-09 21:10:58 +08:00
 dan666

(哭了,留下了不学无术的泪水)

4797 次点击
所在节点    问与答
7 条回复
dan666
2019-07-09 21:11:10 +08:00
(已经各种查过方法了)
jimliang
2019-07-09 21:30:48 +08:00
服务端渲染的话,界面首次渲染是在服务端进行,你应该看 asyncData 有没有在服务端执行。
dan666
2019-07-09 21:37:44 +08:00
@jimliang 我留意到是这样
触发 asyncData 刷新:
( 1 )线上构建后第一次访问;
( 2 )页面内部 nuxtLink 跳转访问。
不触发 asyncData 刷新:
( 1 )手动输入地址到地址栏内访问
( 2 )当前有 asyncData 的页面手动 reload
ZY2071
2019-07-09 21:57:18 +08:00
翻了下以前写的代码,用 process.server 存在与否做一个判断来切换一下接口地址,函数是执行的,只是报错蹦了。
dan666
2019-07-09 22:06:08 +08:00
@ZY2071
大佬,小弟愚钝,get 不到点,现在用的都是同一个接口地址( http ),切换成什么样的接口地址才不会崩溃呢?
然后为什么 nuxtLink 切换的话,就不会“崩”呢?
现在用的是相对路径的写法。
我思考下 orz
dan666
2019-07-09 22:12:45 +08:00
@ZY2071 人间喜剧!居然,居然,写死了 url 就可以了!
哇!
哇!
哇!
陷入了人身大思考!
jimliang
2019-07-10 12:02:10 +08:00
我猜楼主肯定是没处理服务端渲染时调用接口时的情况,这时候是服务端环境而不是浏览器环境,注意不要用相对路径。而且要把 cookie 带过去,否则首次渲染时识别不了用户身份,无法登录。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/581473

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX