gpt4 book ai didi

google-cloud-functions - 如何在 8.0 版中使用 `target: "无服务器”`通过 Next.js 正确实现无服务器 SSR

转载 作者:行者123 更新时间:2023-12-04 01:47:29 24 4
gpt4 key购买 nike

Next.js 8.0 刚刚引入了一个新的target: "serverless" 配置设置,在此blog post 中进行了描述.我设置了一个基本的 hello world 应用程序 ( here ) 来测试它。将 .next/serverless/pages/index.js 的输出复制粘贴到 Google Cloud Function(相当于 AWS Lambda),并让它调用 render() 作为在上面的博客文章中进行了概述。

我遇到的问题是页面本身呈现良好,但随后它尝试在与 lambda 相同的域中获取静态 Assets (脚本文件),这当然不起作用,因为那里除了 lambda 什么都没有脚本。

你可以在这里看到这种情况: enter image description here

我的想法是使用 Next.js 的这个新功能来实现微前端架构。 pages/ 中的每个页面都可以有自己的开发团队/生命周期,并在后端相应地缩放。这是此功能的主要卖点之一,对吧?

解决这个问题的标准方法是什么?我是否需要为静态 Assets 设置单独的服务器?然后把两者都放在某种负载均衡器或路由器后面?如果是这样,那不是违背了使用它来开发微前端的目的,因为静态 Assets 将包括“index.js”、“about.js”和每个页面的脚本文件,并且需要重新部署任何时候任何页面更新?

希望我说的是有道理的。任何帮助表示赞赏!

最佳答案

Do I need to set up a separate server for the static assets?

我是新的 nextjs,但是,是的,我相信这就是您所需要的。

由于您使用的是 GCP,您可能想尝试 Firebase,因为它包括 Google Cloud Functions(FB Functions 是一种 Google Cloud Functions,只是单独打包和销售)和静态托管,可以满足您的需求,包括您的详细信息提到。

另一个问题是 nextjs 的这一新的无服务器功能似乎更倾向于 AWS Lambda,因为它单独打包了函数。您可能已经知道,但我还是要指出,GCP 是面向“项目”的,您项目中的所有功能都共享一个入口点。我不会详细介绍,因为这不是您要问的问题,而是 this popular SO question进入如何做到这一点。

编辑:我写了那个然后记起来了this FB sample ...基于旧版本的 nextjs 在 Firebase 上托管 nextjs 应用程序的不同方式。

关于google-cloud-functions - 如何在 8.0 版中使用 `target: "无服务器”`通过 Next.js 正确实现无服务器 SSR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54678687/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com