Skip to main content

One post tagged with "nodejs"

View All Tags

npm包的设计

· 2 min read

设计一个 npm 包经常要考虑要不要分包,比如早期将项目中的各个包分开:reports、interface、log、request 等,各司其职。后来由于业务互相耦合的很厉害,所以又将这些包合并成一个包,现在就将 reports、interface、request 合并成为了一个 interface 包。

在整理 laya 库的时候发现早期一直想分离一个@pawgame 的库,给纯粹的 es6 来用,不捆绑任何框架,不管是 Laya 还是 Cocos 还是 Egret 还是 React 都可以用。后来发现不太现实,因为为了兼容他们反而写了一堆冗余代码,而如果都整合在一起又导致各个项目不通用。

所以我想要不要把@pawgame 的包拆分足够细致,如果没有必要不再更新,而对于单独的项目来说写一个对应的 core 包。 大概结构如下: