package.json中的peerDependencies
作用:提示宿主环境去按照满足peerDependencies所指定的依赖包,常用在第三方插件中,平时的项目开发不用。
使用场景:依赖A和项目有相同的依赖B,依赖A就可以将依赖B作为peerDependencies。如开发vue相关插件,就可以将vue作为peerDependencies。
需要注意的是,npm 3-6版本 不会自动下载依赖peerDependencies,需要手动下载到直接依赖中国呢。7版本会自动下载。
npm i -f 和npm i --legacy-peer-deps
-f: 无视冲突,参数将强制npm 获取远程资源,即使磁盘上存在本地副本
--legacy-peer-deps: 忽略peerDependencies中的版本,而直接使用直接依赖的版本下载(通常,npm i报错,如果是依赖冲突(项目的直接依赖与间接依赖不一致)的报错,就可以用peerDependencies 来处理,需保证项目能顺利运行)
关于package-lock 是否需要提交到代码库。
需要,因为会固定依赖的依赖