许多场景下,私有化部署时需要基于开源 Plugin 进行扩展(例如生命周期),需要提供扩展 Plugin 私有化的能力,而非只能 fork 代码全量修改后发包。
例如开源版本的 @artus/mysql,本土化部署时 mysql 连接前需要进行一些异步定制操作再继续,希望无需 fork @artus/mysql 代码,而是编写一个 @private/mysql 继承 @artus/mysql 进行扩展,这样开源版本的 @artus/mysql 即作为 Npm 依赖位于 @private/mysql 中,只需要关注扩展的私有定制逻辑即可。
许多场景下,私有化部署时需要基于开源 Plugin 进行扩展(例如生命周期),需要提供扩展 Plugin 私有化的能力,而非只能 fork 代码全量修改后发包。
例如开源版本的
@artus/mysql,本土化部署时 mysql 连接前需要进行一些异步定制操作再继续,希望无需 fork@artus/mysql代码,而是编写一个@private/mysql继承@artus/mysql进行扩展,这样开源版本的@artus/mysql即作为 Npm 依赖位于@private/mysql中,只需要关注扩展的私有定制逻辑即可。