问题描述:nuxt 静态化后发现依旧会请求数据接口 手里有个项目用的是 nuxt 框架做的,使用 nuxt 提供的 generate 打包部署在服务器后,请求静态化的页面发现依旧会去请求接口,接口数据是在 asyncData 方法中获取的,查看源代码也发现数据已经成功绑定,在网上查了半天也没有查到解决办法,有没有大佬遇到过类似的问题,给小弟支支招
1
liulian OP 不知道为啥没换行。。再重新发一遍
问题描述:nuxt 静态化后发现依旧会请求数据接口 手里有个项目用的是 nuxt 框架做的,使用 nuxt 提供的 generate 打包部署在服务器后,请求静态化的页面发现依旧会去请求接口,接口数据是在 asyncData 方法中获取的,查看源代码也发现数据已经成功绑定,在网上查了半天也没有查到解决办法,有没有大佬遇到过类似的问题,给小弟支支招 |
2
feibinyang 2020 年 5 月 12 日
asyncData 是会请求数据的吧,你想要做成什么样的?
|
3
liulian OP 现在的情况是已经静态化的页面依旧会请求接口。按理说数据已经成功绑定,只加载静态化的页面不是就行了吗,你们有遇到过类似的问题吗
|
4
liulian OP @feibinyang 刚开始用 V2EX 回复错地方了。。
|
5
Coande 2020 年 5 月 12 日 via Android
应该用 nuxt start 吧?
|
7
mxT52CRuqR6o5 2020 年 5 月 12 日 via Android
asyncData 也能静态化吗?你这个应该启个 ssr 服务器吧
|
9
liulian OP @mxT52CRuqR6o5 asyncData 只是获取数据而已,如果不在 asyncData 中获取数据要在哪里获取数据哪,ssr 服务器是什么意思?
|
10
Coande 2020 年 5 月 12 日 via Android
@liulian 我的理解是,你得用 nuxt start 启动一个 SSR 后端服务,访问页面的时候,这个服务才调用 asyncData() 去获取数据并渲染页面,然后将渲染好的页面返回给前端。
|
11
mxT52CRuqR6o5 2020 年 5 月 12 日 via Android
@liulian
When generating your web application with nuxt generate, the context given to asyncData and fetch will not have req and res. 我说的 ssr 就是指运行 nuxt start 启动一个服务器 |
12
liulian OP nuxt build 和 nuxt start 是 服务端渲染应用部署 用的,我现在的项目用的是 静态应用部署,另外在 async 中也没有使用,req 和 res
|
13
liulian OP @mxT52CRuqR6o5 nuxt build 和 nuxt start 是 服务端渲染应用部署 用的,我现在的项目用的是 静态应用部署,另外在 async 中也没有使用,req 和 res
|
14
terranboy 2020 年 5 月 12 日
generate 是生成静态文件 把 API 断掉看看吧
|
15
ThiagoJC 2020 年 6 月 9 日
nuxt 静态化之后,asyncData return 的数据会绑定到 window.__NUXT__.data 上 ,你可以打印看看是个数组。asyncData 里用 ctx.isStatic 判断,如果是 true 就直接 return window.__NUXT__data[0]
|
16
liulian OP @ThiagoJC 静态化以后在源代码中的确可以看到 window.__NUXT__.data 但是这里有两个问题:
1 、在 asyncData 中是获取不到 window 对象的, 2 、ctx.isStatic 是您自己注入的吗,我在 nuxt 中没有看到关于这个的解释 |
19
ThiagoJC 2020 年 6 月 11 日 via iPhone
|