当前位置: 首页 > 知识库问答 >
问题:

在next.js getStaticProps/getStaticPaths中使用API路由构建页面是否可能?

许奇
2023-03-14

我正在用MongoDB制作静态Next.js应用程序。

在我的静态next.js应用程序中,我可以使用api路由来构建页面吗?例如,在GetStaticProps中使用GET方法获取产品?或者这是个糟糕的方法。

现在我使用的是文档中的经典方法(直接调用数据库,如find等)。

感谢任何事先的帮助!

共有1个答案

柯河
2023-03-14

您可能可以,但在文档中说明的getStaticProps/getStaticPaths中使用API路由是一种糟糕的做法。

您不应该从getStaticProps获取API路由--相反,您可以直接在getStaticProps中编写服务器端代码

注意:您不应该使用fetch()来调用getServersideProps中的API路由。相反,直接导入API路由内部使用的逻辑。您可能需要为这种方法稍微重构代码。从外部API获取是很好的!

 类似资料:
  • 问题内容: 基本路线是这样的: 是否可以命名该路由并在任何模板中使用它,以便可以像这样使用它: 灵感来自Django :) 问题答案: 没有开箱即用的机制。但是,您可以模仿Django的样式:定义文件,该文件将包含URL数组。首先开始: myviews.js urls.js 现在在 app.js (或任何主文件)中,您需要将URL绑定到Express。例如这样: app.js 现在,您可以定义自定

  • 我有一些使用Java语言的android Studio构建android应用程序的基本知识。现在我想开始学习颤振,但对一些事情不太确定。我读到有可能使用flutter构建跨平台的移动应用程序,我可以使用android studio来构建这些应用程序。使用flutter还可以构建网站和桌面项目。 我的困惑是: 1) 我可以使用带flutter的Android Studio IDE来构建移动应用程序(

  • 问题内容: 加载Angular应用后,我需要一些模板可以脱机使用。 这样的事情将是理想的: 问题答案: 有一个 模板缓存服务 :$ templateCache ,可用于在javascript模块中预加载模板。 例如,取自文档: 甚至还有一个艰巨的任务,可以从html文件中预先生成一个javascript模块:grunt-angular- templates 另一种可能不太灵活的方法是使用 内联模板

  • null 有什么方法可以在GitHub上使用SharedArrayBuffer吗?我试过上网,但他们对带宽有限制。是否有类似于GitHub的托管静态站点可以允许我们自定义请求头,以便我们可以使用ShareDarrayBuffer?

  • 问题内容: 我有一个管道脚本,可以使用和不使用参数。因此,我必须检查该参数是否可用。 我试过了,但这导致异常 还有另一种检查作业是否已参数化的方法吗? 问题答案: 较新的版本通过变量使参数可用。如果未定义该参数,则它将回退到配置的默认值(另请参见此处)。

  • 问题内容: 是否可以仅针对XHR请求限制Symfony 2路由?我想声明只能通过AJAX访问的路由。 我不想像这样在每个AJAX特定操作中添加一些额外的行: 我想定义: AJAX请求的一条规则 对相同URL进行GET / POST请求的一条规则 为了避开上述情况。 问题答案: 我知道这个问题有点老,但是与此同时 ,Symfony 2.4* 中引入 了 一种 新的解决方法 。 * 匹配表达式 对于a