Javascript 当NodeJS服务器启动时,如何运行函数?

Javascript 当NodeJS服务器启动时,如何运行函数?,javascript,node.js,next.js,Javascript,Node.js,Next.js,您好,我需要在服务器第一次启动时运行一个函数,基本上我想在数据库中放入一些常量数据。是的,我可以只使用内存中的常量,但我更愿意将它放在我的数据库中,因为我计划将来在其他一些服务器上使用这些数据。问题是,我使用的是NextJS,我想在Vercel平台上托管,所以我不想使用自定义的server.js文件 在NextJS/NodeJS中,当服务器第一次启动时,有没有办法只运行一次函数?因此Vercel平台是无服务器的: 正如文档中所述,您可以创建如下无服务器函数: module.exports = (

您好,我需要在服务器第一次启动时运行一个函数,基本上我想在数据库中放入一些常量数据。是的,我可以只使用内存中的常量,但我更愿意将它放在我的数据库中,因为我计划将来在其他一些服务器上使用这些数据。问题是,我使用的是NextJS,我想在Vercel平台上托管,所以我不想使用自定义的
server.js
文件


在NextJS/NodeJS中,当服务器第一次启动时,有没有办法只运行一次函数?

因此Vercel平台是无服务器的:

正如文档中所述,您可以创建如下无服务器函数:

module.exports = (req, res) => {
  res.send("Hello World");
}
如果您希望在构建完成后运行函数,可以查看以下答案:

您还可以使用
getServerSideProps
在页面呈现之前运行代码(在服务器端),如果这是“应用程序启动”的意思


您可以将该函数调用到
server.listen()
app.listen()
@DhavalDarji的回调函数中,如果没有自定义服务器,我该怎么做?您能提供一个代码示例吗?当使用链接问题的解决方案时,该函数在每次热重新加载时运行两次。。虽然我猜在生产中它应该只运行一次(好吧,出于某种原因,两次)?@randomprogramming“应用程序启动”是什么意思?链接问题在生成完成后运行。如果希望根据请求运行某些函数,可以在getServerSideProps中执行。我更新了我的答案。我的意思是应用程序构建,但我想知道这个解决方案在生产环境中如何工作?因为现在,每次我打开新页面时,函数都会运行。。是否每次新用户打开页面时都会触发生产中的功能?否,生成只完成一次。当应用程序在他们的平台上部署时,您也可以在Vercel日志中看到它@好的,这就是我想知道的,谢谢!