package.json配置项积累

peerDependencies

用途:peerDependencies 主要用于声明一个包在其宿主项目中期望安装的依赖版本。它通常用于确保插件或库与特定版本的其他库兼容。

行为:

在 npm v7之前,如果宿主项目未安装 peerDependencies 中列出的依赖,则不会强制安装这些依赖,仅会发出警告。

自 npm v7起,默认行为变更为尝试自动安装 peerDependencies 中列出的所有依赖,但如果存在版本冲突,则仍需手动解决。

适用场景:当你开发一个库或者插件,该库或插件需要与某个特定版本的核心库协作时非常有用。例如,一个 React 组件库可能会声明 "react": "^17.0.0" 作为其 peerDependencies,以确保它能与React 17.x.x版本正确工作。

resolutions

用途:resolutions 字段是 Yarn 工具特有的功能(不被 npm 原生支持),用于强制所有子依赖项使用特定版本的依赖。这对于解决复杂的依赖树中的版本冲突特别有用。

行为:通过在项目的 package.json 文件中添加 resolutions 字段,可以指定某些依赖的确切版本号,Yarn 将强制整个依赖树使用这些指定版本。

适用场景:当你的项目依赖的多个包间接依赖于同一个包的不同版本时,可能会导致兼容性问题。这时可以通过 resolutions 强制所有相关依赖使用同一版本来解决问题。

相关推荐
三天不学习7 小时前
APIJSON:用JSON自动生成API,告别手写CRUD!【.NET 8 集成案例,也支持JAVA】
json·.net·apijson
StarRocks_labs1 天前
StarRocks 4.0:Real-Time Intelligence on Lakehouse
starrocks·人工智能·json·数据湖·存算分离
敲上瘾1 天前
Linux系统C++开发工具(四)—— jsoncpp 使用指南
linux·服务器·网络·c++·json
Dolphin_Home2 天前
轻量实用的 XML 与 JSON / 对象互转工具类(Jackson 实现)
xml·java·json
llxxyy卢2 天前
json的注入
json
柑橘乌云_2 天前
学习记录-package.json的scripts添加参数的方式有那些
前端·学习·node.js·json
.生产的驴2 天前
React 页面路由ReactRouter 路由跳转 参数传递 路由配置 嵌套路由
前端·javascript·react.js·前端框架·json·ecmascript·html5
StarRocks_labs3 天前
StarRocks 在 Cisco Webex 的探索与实践
数据库·starrocks·json·存算分离·olap 技术栈
.生产的驴3 天前
React 模块化Axios封装请求 统一响应格式 请求统一处理
前端·javascript·react.js·前端框架·json·ecmascript·html5
慌糖3 天前
Java中JSON数据提取与处理
java·json