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

在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?

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

  • 问题内容: 当go build不够而又需要与go build一起运行额外的命令时该怎么办?Go工具是否包含此用例?如果是这样,惯例是什么? 我注意到可以通过以下方式传递额外的标志来构建工具: 是否有可能运行额外的命令或至少告诉go build使用Makefile? 问题答案: 否。go工具并非旨在用作通用构建系统。对cgo有一些规定(例如pkg-config),但是它不可扩展。 在go1.4中将有