【问题标题】:Expert’s opinion required to sharing code between two Next.js projects在两个 Next.js 项目之间共享代码需要专家意见
【发布时间】:2023-03-09 11:05:02
【问题描述】:

目前,我们的主域 www.example.com 使用 Angular 4 开发,但存在巨大的性能和 SEO 问题。我们使用 Next.js 开发了针对移动用户的 m.example.com,并且我们最近已经成功上线。现在我们想将我们的主域 www.example.com 迁移到 Next.js,目前 100% 的代码在 API 的使用方面将是相同的。只有设计会改变以适应桌面用户。将来我们可能会引入移动/桌面特定的功能,所以一旦我们完成了迁移,我们希望有两个独立的可部署项目。

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

【问题讨论】:

    标签: next.js reusability


    【解决方案1】:

    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 纱线工作区功能。

    【讨论】:

      猜你喜欢
      • 2019-10-27
      • 2014-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-21
      • 2020-08-25
      • 2023-03-29
      • 2012-11-11
      相关资源
      最近更新 更多