背景:我公司的网络应用程序实际上是几个完全分离的应用程序,相互影响最小。这就是为什么把它们放在单个项目下没有任何意义 - 所以我使用了单独的项目。然而,自从我开始迁移和在ReactJS(使用的WebPack捆绑),我找到了重复使用很多机会编写新的应用程序,以避免重复代码,并避免其他应用程式,再下载公共资源已经获取他们:您如何管理多个ReactJS项目?
- 我正在使用特定版本的第三方npm模块 - 因此没有理由一次又一次地捆绑它们 - 并且没有理由多次将它们上传到服务器(对于所有项目)。
- 如何跨项目共享package.json固定版本?
- 您是否将所有/组的npm模块捆绑在一起或分别捆绑在一起?我希望从服务器获取所有内部部署情况。
- 采取什么措施确保您不会忘记重新捆绑节点模块,以防您决定更新其中一个节点模块?
- 类似的问题也适用于字体文件(保持在服务器上的字体和另一种字体的图标)
- 常见的样式表
- 常见的JS代码 - 像utils的&共同
- 常见的web.config配置
- 常见图片(目前其中一些内嵌在不同的包中)
- 和最后 - 常见组件 - 您如何分享它们?你是否使用单独的项目并发布到npm?符号链接?
或者,也许,毕竟,我应该去一个monorepo?如何?
谢谢,你使用这种方法?你对开发模式做什么?你有没有考虑去monorepo?有更具体的项目结构和npm脚本实现这些目标的例子吗? –
在工作中,我们专门为React组件使用它;我们没有各种各样的项目来保证分享其他资产。对于像webpack配置,部署脚本等东西,如果有一些重复,我认为这不是太糟糕,因为通常存在细微的差异,而且这样的东西往往不会有太大的改变。看起来像一个单一的回购将解决一些这些问题,但这不是我有任何经验。 –