在组件开发模式下,每个组件就是一个独立的项目,当我们使用npm来下载各个组件的依赖时,npm会在各个组件项目下创建node_modules,这有可能会导致各个组件引用的依赖包一样,但是版本号不一样的问题。
在使用class-transformer插件的时候,因为midwayjs框架已经有使用class-transformer插件了,只是版本比较老。而在开发自定义组件时,我所使用的class-transformer插件是最新的,这就导致了一个问题,保存在插件对象内部的元数据出现问题,导致结果就是Json转换对象出现问题—继承父类公开的属性,无法对这些父类公开属性赋值。
后面使用yarn解决了这个问题。
除了以上提到的问题,yarn只会在项目根目录下创建node_modules,有效减少项目包大小,管理起来也更加方便。