Nuxt:仅在服务器端获取数据

2023-12-20

我使用 Github 的 API 来获取固定存储库的列表,并将调用放入 AsyncData 方法中,以便在第一次渲染时获得该列表。但我刚刚了解到 AsyncData 在服务器端调用一次,然后每次在客户端加载页面时调用。这意味着客户端不再拥有进行 API 调用的令牌,无论如何,我不会让我的 Github 令牌出现在客户端中。

当我切换页面(从另一个页面到带有列表的页面)时,数据不存在,我只有默认的空数组

我不知道确保我的数据始终加载在服务器端的最佳方法是什么?

export default defineComponent({
  name: 'Index',
  components: { GithubProject, Socials },
  asyncData(context: Context) {
    return context.$axios.$post<Query<UserPinnedRepositoriesQuery>>('https://api.github.com/graphql', {
      query,
    }, {
      headers: {
        // Token is defined on the server, but not on the client
        Authorization: `bearer ${process.env.GITHUB_TOKEN}`,
      },
    })
      .then((data) => ({ projects: data.data.user.pinnedItems.nodes }))
      .catch(() => {});
  },
  setup() {
    const projects = ref<Repository[]>([]);

    return {
      projects,
    };
  },
});

将您的请求包含在if(process.server)asyncData页面的方法。

如果您绝对需要服务器端调用并且无法从客户端执行此操作,那么您可以直接操作location.href强制页面完全加载。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Nuxt:仅在服务器端获取数据 的相关文章

  • 防止文本区域出现新行

    我正在开发聊天功能 使用 Vue 并使用文本区域作为输入 以便溢出换行 并且对于编写较长消息的用户来说更具可读性 不幸的是 当用户按下 Enter 键并提交时 光标会在提交之前移动到新行 从而使用户体验感觉不佳 关于如何使用普通 Javas
  • 监听来自动态vue组件的事件

    您将如何侦听动态创建的组件实例发出的事件 在示例中 顶部组件添加到 DOM 中 而第二个组件是在 javascript 中动态创建的 Vue component button counter data function return cou
  • v-file-input .click() 不是函数

    我试图以编程方式触发 v file input 的 click 事件 因为它在 Vuetify 的文档中 但它显示一个错误this refs imagePicker click is not a function我在这里错过了什么吗 代码重
  • 通过 declarativeNetRequest + extensionPath 重定向时获取原始 URL

    我需要在导航时但在用户从使用设置的规则重定向之前获取 chrome 选项卡的 urldeclarativeNetRequest 目前 用户可以使用上下文菜单添加规则 当尝试访问过滤的主机时 它将被重定向到内部扩展页面 chrome cont
  • Vue.js - 以编程方式设置槽内容

    有什么办法可以从组件内部设置 覆盖插槽的内容吗 喜欢 模板 div div
  • nuxt v2 和 firebase 函数的部署错误

    当我尝试在 firebase 函数中渲染 nuxt 时 出现 用户代码加载失败 无法确定后端规范 错误 其他功能都可以部署 但是无论模式是SSR还是SPA 只有nuxt功能失败 我查看了日志 没有发现任何有用的信息 当我查看 无法确定后端规
  • 如何将Vue包装的对象转换为普通对象

    我需要将对象类型的数据变量分配给普通变量 const myVue new Vue el myVue data vars show Form methods assign vars const new vars this vars html
  • vuejs 模板和 asp.net 部分视图,好的做法吗?

    我在网站中使用 Vue js 并将模板添加到 html 代码中 并将 js 代码添加到单个 js 文件中 所以我不想使用 vue Vuefy Browserfy 方法 而是稍后捆绑并缩小我的 js 文件 由于我必须使用 Asp Net MV
  • 在Vue.js 3中添加全局变量

    如何在 Vue js 3 中添加全局变量 在 Vue js 2 中 我们在main js file Vue prototype myGlobalVariable globalVariable 最直接的替换就是app config globa
  • Vue SPA - 如何在浏览器中呈现时隐藏 .vue 文件

    我正在开发一个用 Vue js 开发的单页应用程序 托管在 Node js 服务器上 目前它仍在开发中 但最终将暴露给外部客户 并且由于我们将处理敏感数据 我们希望避免在用户检查元素时看到 vue 文件和相对文件树结构在开发工具中 See
  • Vue-动态导入vue组件

    我有很多组件 我想按需导入 我有一个下拉菜单 其中实际上包含组件列表 即要加载的内容 我试过这个例子
  • Vue 3 输入模式

    我想创建输入 如果模式不匹配 我可以用空字符替换输入的字符 模板
  • 在 vuejs 上将 \n 替换为新行

    我正在尝试将 n 字符替换为来自端点的数据的新行 I tried p item licensedocument legal documentText replace r n r n g br p 并没有奏效 当我将replace 写入问题末
  • 如何在vuetify中设置固定工具栏?

    在 vuetify 中我使用工具栏
  • 将变量从调用它的父页面传递给 Vue 组件

    我有一个简单的表格 显示了我的所有数据 主文件 php table class table table bordered table hover thead tr th Job Name th th Job Description th t
  • 在上传之前预览图像 VUEjs [重复]

    这个问题在这里已经有答案了 我知道这个问题已经被问过 但我不知道如何在vuejs中使用代码 我尝试了很多但没有任何结果 我还添加了我的代码 有人可以帮帮我吗 这是我的代码 谢谢 html
  • Vue.js - 当标头中使用 multipart/form-data 时,axios 中的文件上传验证失败

    我正在构建一个 Laravel Vue js SPA 单页应用程序 BootstrapVue https bootstrap vue js org Vee验证 https logaretm github io vee validate gu
  • 如何减少 WEBPACK + VUEJS 中的包大小

    我遵循了很多有关如何减小捆绑包大小的教程 但没有任何内容对捆绑包大小产生任何影响 我不知道为什么 每次当我向 webpack 添加一些新代码时 我的包大小都保持与以前相同 我的应用程序是使用 vue cli 3 pwa 插件 webpack
  • Vuejs2 Modal 与 vue-router 中的路线

    我正在尝试使用模态创建一条路由 当您使用路由器链接访问此路由器路径时 会在当前页面上方显示一个模态 或者如果我直接从 url 访问 则会出现上面带有模态的索引 例如 我在http localhost 个人资料 1 http localhos
  • 如何判断网站是否使用 next.js?

    很容易判断一个网站是否使用 ReactJS 通过使用反应开发者工具 https chrome google com webstore detail react developer tools fmkadmapgofadopljbjfkapd

随机推荐

  • 如何在java中进行批量http调用

    我正在尝试通过 Http 访问另一个服务以使用 HttpClient 获取数据 uri 应类似于端点 80 itemId 我想知道是否有办法进行批量调用来指定一组 itemId 我确实发现有人建议在创建请求时使用 setHeader Htt
  • register_shutdown_function 覆盖

    是否可以覆盖已经设置的register shutdown function堆 就像是 function f1 echo f1 function f2 echo f2 register shutdown function f1 echo ac
  • Python和MySQL打印结果

    我正在尝试自学 Python 但遇到了障碍 我需要从 MySQL 获取一个字段 但是当我从数据库检索数据时 结果很奇怪 这是我使用的下面的代码 cursor1 db cursor cursor1 execute select djname
  • Node.js 服务器只是不断加载,没有任何结果。

    我一直在尝试让我的服务器正常工作 但是当我发送发布数据时 它只是不断加载并且没有给出任何结果 这是我的 noen js 文件 var http require http var url require url Configure our H
  • 如何更改 Xcode 中 tableView 原型单元格的高度?

    我拖了一个UITableView到我的故事板中 我可以将信息完全插入其中 但为了定制单元 我添加了一个原型单元 当我手动更改它的高度时 模拟器中没有任何变化 对于那些只想在设计时更改行高的人 您可以选择 表视图单元格 然后在 大小 检查器中
  • 在 CSS 中绘制空的内联框?

    我确信这很简单 但我正在尝试画一组小的 空的 inlineHTML 中的框如下所示 span style border 1px solid black span 早些时候 我们制作了简单的 gif 图像 但随着浏览器显示的放大或缩小 图像看
  • 自定义无符号整数限制和翻转

    我目前需要 C 中的特殊数据类型 我需要数据类型是一个可以保存 0 151 之间值的整数 我已经知道我可以限制最小和最大频谱 但我希望它是一个翻转功能而不是限制钳位 有点像无符号整数在达到极限时如何回绕到 0 我不明白的一件事是如何处理溢出
  • 与 ContentEditable 一起使用的所见即所得编辑器是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 这是字面上的缺点的特定于实现的行为吗?

    我正在测试中的代码这个有趣的答案 https stackoverflow com a 6866155 768472 CL USER gt defun literal cons let cons 1 2 incf cdr cons cons
  • 如何强制GTM在中添加标签?

    我已按照以下步骤在我的网站内添加 AdSense 脚本 现在您已将代码转到 GTM 创建一个新标签 提供一个名字 选择自定义 HTML 作为标记模板 将代码复制并粘贴到文本字段中 将触发器设置为在所有页面或您想要投放广告的页面上触发 单击保
  • 如何使 Geolocation API 函数在 localhost file:// 上工作?

    我有这个基本代码来使用 Geolocation API 检索纬度和经度 显示地图 html
  • 如何在 Zeus Web 服务器中为移动用户代理重写 URL?

    我需要将具有移动用户代理的任何人重定向到名为 mobile php 的文件 我的网络托管提供商 Net Registry 使用 Zeus Web 服务器 这是我根据研究编写的脚本 RULE 1 START get the document
  • Shell 和 Exec 形式的 Dockerfile 指令之间的差异

    有什么区别shell and exec表格用于 CMD CMD python my script py arg vs CMD python my script py arg ENTRYPOINT ENTRYPOINT bin main vs
  • 为什么 C++ 运算符 new/delete/variants 不应该出现在头文件中?

    有人可以解释这个 C 编译错误的本质吗 我正在涉足 学习如何重载全局运算符 new delete 及其变体 我读了一篇couple https stackoverflow com questions 13635157 c overload
  • 使用 xmlns 属性将 XSLT 应用于 XML 文档

    我将 XSLT 样式表应用到以下 XML 文件
  • 使用setTimeout绕过IE的长时间运行脚本警告

    我以前问过这个问题 并在网上找到了一些关于这个主题的文章 但我一生都无法弄清楚这一点 我有一组计算模型的 Javascript 函数 但是存在大量循环 导致脚本需要一段时间 约 4 秒 我不介意处理时间 但 IE 会提示警告 因为执行次数太
  • 在 Rails 上的参数 ruby​​ 中使用变量? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我想检查 param key 是否存在并带有变量名 如果存在 我想使用类似 params filenamestring 1 的值 filen
  • Silverlight 4:当内容变得更窄时,StackPanel 不会调整大小

    我正在使用 Silverlight 4 和 Blend 4 我有一个 水平 堆栈面板 其中包括一些文本框和一个按钮 堆栈面板设置为拉伸到内容使用的大小 文本框也可以自动调整大小 当我向文本框添加文本时 文本框大小会增大 堆栈面板也会增大 到
  • 无法使用react-router和webpack-dev-server直接进入动态路由

    启动 webpack dev server 后 我可以直接进入静态路由 例如http localhost 3456 one 但我无法直接转到动态路线 例如http localhost 3456 two 1234 我相信我的 webpack
  • Nuxt:仅在服务器端获取数据

    我使用 Github 的 API 来获取固定存储库的列表 并将调用放入 AsyncData 方法中 以便在第一次渲染时获得该列表 但我刚刚了解到 AsyncData 在服务器端调用一次 然后每次在客户端加载页面时调用 这意味着客户端不再拥有