一 dependencies && devDependencies
dependencies
字段指定了项目运行所依赖的模块;
devDependencies
指定项目开发所需要的模块
它们都指向一个对象。该对象的各个成员,分别由模块名和对应的版本要求组成,表示依赖的模块及其版本范围。
二 peerDependencies
有时,你的项目和所依赖的模块,都会同时依赖另一个模块,但是所依赖的版本不一样。比如,你的项目依赖甲模块和乙模块的1.0版,而甲模块本身又依赖乙模块的2.0版。
大多数情况下,这不构成问题,B模块的两个版本可以并存,同时运行。但是,有一种情况,会出现问题,就是这种依赖关系将暴露给用户。
最典型的场景就是插件,比如甲模块是乙模块的插件。用户安装的乙模块是1.0版本,但是甲插件只能和2.0版本的乙模块一起使用。这时,用户要是将1.0版本的乙的实例传给A,就会出现问题。因此,需要一种机制,在模板安装的时候提醒用户,如果甲和乙一起安装,那么乙必须是2.0模块。
有时候做一些插件开发,需要指定其所需要的依赖的版本