【发布时间】:2016-11-05 06:39:15
【问题描述】:
背景:我公司的网络应用程序实际上是几个完全独立的应用程序,它们对彼此的影响很小。这就是为什么将它们放在一个项目下没有任何意义 - 所以我正在使用单独的项目。然而,自从我开始在 ReactJS 中迁移和编写新应用程序(使用 Webpack 进行捆绑)后,我发现了很多重用的机会,以避免代码重复并避免在另一个应用程序已经获取它们之后再次下载公共资源:
- 我正在使用特定版本的 3rd 方 npm 模块 - 所以没有理由一遍又一遍地捆绑它们 - 也没有理由多次将它们上传到服务器(对于所有项目)。
- 如何跨项目共享 package.json 固定版本?
- 您是将所有/组的 npm 模块捆绑在一起还是单独捆绑在一起?对于本地部署,我想从服务器获取所有内容。
- 您采取了哪些措施来确保不会忘记重新捆绑节点模块,以防您决定更新其中一个模块?
- 字体文件也有类似的问题(将字体保留在服务器上,另一种字体用于图标)
- 常用样式表
- 通用 JS 代码 - 类似 utils & common
- 常见的 web.config 配置
- 普通图片(目前其中一些内嵌在不同的包中)
- 最后 - 通用组件 - 你如何共享它们?您是否使用单独的项目并发布到 npm?符号链接?
也许,毕竟,我应该使用 monorepo?怎么做?
【问题讨论】: