yarnpkg - 带有纱线工作空间的通用依赖库版本
问题描述
假设我有一个在不同工作区之间共享的外部 NPM lib 依赖项,是否可以为所有相关工作区设置一个版本?如果此依赖项是对等项或依赖项怎么办?
例如
// external-lib-dep in npm
//package1's package.json
...
"dependencies": {
"external-lib-dep": "^1.0.0"
}
...
// package2's package.json
...
"dependencies": {
"external-lib-dep": "^1.2.0"
}
...
// package3's package.json
...
"dependencies": {
"very-different-external-lib-dep": "^1.2.0"
}
...
是否有可能以某种方式“共享” deps 的版本而不是一遍又一遍地复制它?(就像dependencyManagement
在 Maven 中的父 pom 中一样)。
如果 monorepo 拥有某个公司所有服务的“通用”库怎么办。当我在我的服务中使用其中一个库时,他们的解决方案会起作用吗?
解决方案
可以以一种特定方式在工作区之间共享依赖项的版本。
您的工作区应external-lib-dep
在其peerDependencies
. 在你的 monorepo 根目录中package.json
,你应该external-lib-dep
在dependencies
. 这样,您的工作区将从external-lib-dep
根工作区“继承”版本。
推荐阅读
- angular - 使用弹簧安全和角度进行身份验证
- pandas - 具有不同大小的 Dataframe 列与 multiIndex
- vue.js - 如何使用 this.$emit 将值从子级传递给父级
- php - URL 重写 (htaccess) 在带有自定义脚本的 Wordpress 页面模板中不起作用
- python - 根据其他列中的行值计算数据框中行值之间的差异
- python-3.x - 四舍五入一个元组
- azure - 静态和动态 Azure 文件有什么区别?
- actframework - REST 请求 (GET) 的限制大小
- javascript - 在 React 中仅显示来自 Rest api 的单个对象数组
- google-bigquery - 如何优化由于自定义维度而异常大的 BigQuery 查询?