需要专家的意见才能在两个Next.js项目之间共享代码

时间:2019-05-09 02:45:32

标签: next.js reusability

当前,我们拥有使用Angular 4开发的主要域名www.example.com,该网站存在巨大的性能和SEO问题。使用Next.js,我们开发了针对移动用户的m.example.com,并且最近我们已经成功上线了。现在,我们想将我们的主域www.example.com迁移到Next.js,其中在使用API​​方面,目前100%的代码相同。仅更改设计以适应桌面用户。将来,我们可能会引入特定于移动/桌面的功能,因此在完成迁移后,我们希望有两个独立的可部署项目。

请让我知道解决此问题并同时实现以下目标的最佳方法是什么? 1.两个Next.js项目之间的代码可重用性 2.两个Next.js项目之间的通用组件

1 个答案:

答案 0 :(得分:0)

与Next.js没有什么特别的关系,您仍然可以只共享React组件。 我建议将所有内容放入monorepo中。创建一个包含所有组件的npm包,并在Next.js项目中使用它们。

您最终将处于这样的项目结构中:

packages/myapp-legacy
packages/myapp-mobile
packages/myapp-desktop
packages/ui-components
package.json

使用lerna之类的工具,您可以在monorepo中管理多个软件包。最好的方法是将yarn与lerna一起使用,因为lerna supports纱线工作区功能。