npm – 如何在monorepo中的多个应用程序之间共享组件时处理共享
我有以下monorepo结构
root --AppOne ----package.json ----node_modules ------styled-components --AppTwo ----package.json ----node_modules ------styled-components --Shared ----componentA ----package.json ----node_modules ------styled-components 我的问题是AppOne和AppTwo都使用共享目录中的componentA,它依赖于NPM包,例如在样式组件上 这意味着我需要在所有三个目录中安装样式组件,这会增加软件包大小,如果版本不同,可能会导致软件包执行应该执行的操作. 这也意味着我从样式组件中得到以下错误: 看起来在此应用程序中初始化了几个“样式组件”实例. 我的问题是 – 解决这种情况的最佳方法是什么?理想情况下,我只希望将这个软件包安装在一个地方.我应该在Shared中安装它并在AppOne和AppTwo中使用别名来使用该包吗? 任何建议非常感谢! 解决方法
我自己在一个大的monorepo上工作,我会说有很多方法可以通过编写自定义脚本来解决这个问题,然后在“安装后”的npm上触发它们.也许你也可以手动维护每个package.json的peerDependencies中的依赖关系.
我更喜欢依靠工具来处理依赖关系管理. 在这方面我也听说过Bolt,但是从2019年初开始,它非常有前途但不如Yarn / Lerna成熟. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- React Native教程 中文版<四> Native模块交互
- 麻烦:’PrincipalViewController’在swift中没有名为’rev
- c – std :: deque :: push_back / front的复杂性要求
- sqlite3常用命令&语法
- reactjs – 使用TypeScript编写React高阶组件
- CentOS系统上安装配置Oracle数据库的详细教程
- ruby-on-rails – Rails,Cucumber,Capybara:会话不会持续存
- 三枚Flash 0day漏洞曝光,Flash再次紧急更新
- SQLite语法备忘录
- Drawable Resources