【发布时间】:2019-07-07 18:55:12
【问题描述】:
Next.js 8.0 刚刚引入了一个新的target: "serverless" 配置设置,在此blog post 上进行了描述。我设置了一个基本的 hello world 应用程序 (here) 来测试它。将.next/serverless/pages/index.js 的输出复制粘贴到谷歌云函数(它们相当于AWS Lambda)并让它调用render(),如上述博客文章中所述。
我遇到的问题是页面本身渲染得很好,但是它试图在与 lambda 相同的域中获取静态资产(脚本文件),这当然不起作用,因为除了 lambda 之外什么都没有脚本。
我的想法是使用 Next.js 的这个新特性来实现微前端架构。 pages/ 中的每个页面都可以有自己的开发团队/生命周期,并在后端进行相应的缩放。这是此功能的主要卖点之一,对吧?
解决这个问题的标准方法是什么?我需要为静态资产设置单独的服务器吗?然后将两者都放在某种负载平衡器或路由器后面?如果是这样,那不是违背了使用它来开发微前端的目的吗,因为静态资产将包括“index.js”、“about.js”和每个页面的脚本文件,并且需要重新部署任何时候更新任何页面?
希望我说的有道理。任何帮助表示赞赏!
【问题讨论】:
标签: google-cloud-functions microservices serverless next.js server-side-rendering