背景: 我正在使用 Next.js 和它的多区域功能来构建一个门户网站。这允许我们有多个独立运行的 Next.js 应用程序,由不同的团队管理,但作为单个应用程序。
问题:我需要确保所有区域中的页眉、导航和页脚都是一致的。为此,我想在一个位置拥有组件,并在各个区域之间共享它。
不幸的是,Webpack 模块联邦尚未被 Next.js 原生支持,因此我们无法受益于它。
我正在研究人们如何处理共享组件的方法。
我的研究和思考仅限于一个解决方案:
为我想要共享的组件创建 npm 模块,并在各个区域中导入它,然后传递我需要的数据。这是有代价的:对于像标题和页脚这样的组件,在发布新版本时,我们需要确保所有区域都使用相同的版本号。所以...虽然不完美,但看起来似乎是唯一的方法。
我试图查看NextJS GitHub 讨论,但不幸的是,那里的社区似乎不太活跃(有人已经在那里提出了这个问题,你能找到的唯一答案就是我的回答)。
我决定在这里尝试询问,因为受众更广,也许你们可以为我提供更好的想法。