如何解决yarn 工作区应用部署流程
我们正在使用 yarn 工作区,它按预期进行开发。
这是我们的目录结构
- 父母
- 应用
- 应用1
- pacakge.json
- node_modules
- 源代码
- App2
- pacakge.json
- node_modules
- 源代码
- App3
- pacakge.json
- node_modules
- 源代码
- App4
- pacakge.json
- node_modules
- 源代码
- 应用1
- 共享
- 构建
- package.json
- node_modules
- 应用
我们使用 webpack 模块联合来在应用程序之间共享代码,同时还对 Shared 目录中的代码使用 webpack 别名(我们希望一些代码捆绑在每个应用程序中)。
所有这些都适用于开发,因为 yarn 工作区可以很好地管理依赖项。
我们希望单独部署我们的所有应用程序,但我们在解析 Shared 目录的 node_modules 依赖项时遇到问题。 Shared 目录中的依赖项从父级的 node_modules 中选取,而 App1 目录中的依赖项从 App1 中的 node_modules 或 Parent
中的 node_modules 中选取>对于 App1 的部署,我们有以下选项。
解决方案 1。
a) 在父级安装所有依赖项(这将很难知道哪些依赖项属于哪个 App)。这也将强制 App1 构建在运行时服务器上的 Parent 内(对于 ssr,我们不捆绑 node_modules)。
b) 通过取App1 中的package.json 和Parent1 中的package.json 中的依赖项的交集,动态生成Parent 中的package.json >
解决方案 2。
在 App1 和 Parent 中安装所有依赖项(这将捆绑重复的依赖项,不适用于我们使用 React 的用例)
解决方案 3。
在 App1 中安装所需的依赖项,并在 Parent 中的 node_modules 中为 Shared
中所需的依赖项创建符号链接这些解决方案似乎都不理想。请建议是否有其他可能的解决方案来解决此问题,如果没有,您在上述共享解决方案中推荐的解决方案是什么。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。