Javascript Next.js架构

Javascript Next.js架构,javascript,node.js,reactjs,architecture,next.js,Javascript,Node.js,Reactjs,Architecture,Next.js,我正在寻找一些Next.js架构建议,请服务器需要调用自身来获取其数据,获取数据所涉及的许多开销都在延迟(即客户端和最近的数据中心之间)左右,这在其(数据中心->数据中心)运行时不会太令人担心 如果性能仍然是一个问题,那么您的下一个最佳选择将是进行SSR缓存,其中有许多不同的方法,您可以在快速的google搜索中找到,但这将取决于您的主机/设置。我认为listing page.jsx和api/listing的处理程序的路径是相同的。您可能需要编写两个小函数来提取传递到请求中的参数,并将其传递给您

我正在寻找一些Next.js架构建议,请服务器需要调用自身来获取其数据,获取数据所涉及的许多开销都在延迟(即客户端和最近的数据中心之间)左右,这在其(数据中心->数据中心)运行时不会太令人担心


如果性能仍然是一个问题,那么您的下一个最佳选择将是进行SSR缓存,其中有许多不同的方法,您可以在快速的google搜索中找到,但这将取决于您的主机/设置。

我认为
listing page.jsx
api/listing
的处理程序的路径是相同的。您可能需要编写两个小函数来提取传递到请求中的参数,并将其传递给您的服务模块函数,如
ListingService.getSingleListisng(id)

它是数据中心->数据中心(实际上,它从同一服务器获取数据-服务器有api路由)-因此,您不建议仅对SSR使用内部api URL(以避免网络跳到DMZ可访问访问),并在客户端请求上更改为公共域?不遵循,但是否存在延迟是一个不问题,NextJS为其提供的每个功能提供了大量转义图案填充,如果您不想要SSR,可以将其关闭,如果您想要SSR,但不是针对需要很长时间的请求,您可以SSR页面的一半,然后在客户端上发送数据请求。您甚至可以在每个组件的基础上禁用SSR(请参见下一动态)。您甚至可以使用react esi或其他替代方法将SSR流式传输到页面/进行高级缓存。getInitialProps是可选的,您如何使用/实现它取决于您。您的意思是什么
getInitialProps
是可选的-如果没有它,您如何制作同构应用程序?您可以检测它是否在服务器上,并更改逻辑
typeof window==“undefined”
会告诉你它的服务器注释
undefined
是一个字符串,你可以把它放在getInitialProps中,从另一个源获取数据是的,我可以这样做-只是觉得这样做可能不是“最佳实践”?它不是另一个数据源,它是同一个源,只是在服务器端使用一个内部URL,因为它不需要进行网络跳出