插件机制

插件(Addon), 是包含了超轻量级业务逻辑或对模块(Module)进行功能扩展的独立的包(Package)。

实现机制

动态注入,是 Notadd 的一大功能特色,可以同时实现前、后端的业务逻辑注入到主体程序,并且并不影响主体程序的正常运行。

后端

基于 ECMAScript 6+ 或 TypeScript 的动态模块(module)加载机制,实现 NestJS 框架的功能注入(Injection)。

前端

基于 UMD 模块导入导出规范,将对应前端业务逻辑注入到主体框架中。

实现方式

后端

使用相同后缀的文件(*.injection.js),作为后端业务逻辑的注入入口,遵循 NestJS 的模块实现规范,基于 @Addon 的注解实现模块的定义、业务逻辑的打包和装配。

前端

使用 Webpack 实现 UMD 规范模块的打包输出,动态在浏览器对文件进行加载,并获取模块导出的实例,以实现业务层逻辑的注入(导航、页面以及组件)。

参考: