plugin-tools

1.0.9 • Public • Published

前端插件化设计系统

  1. core 核心代码,插件内核,提供插件运行时,管理插件加载,运行,卸载等生命周期(类比浏览器)
  2. api 接口,plugin 插件运行时需要的接口 (类别window)
  3. plugin 互相独立的模块,提供单一功能 (类比不用网页)

浏览器 -- url --- 网页 core ---- api ---- plugin

项目的原型

//plugin
function plugin(a,b){
  return a + b
}

//api
function pluginApi(core){
  core({
    name:'plugin1',
    fn:plugin1
  })
}

//core
const core = {
  use(pluginApi){
    const {name,pluginFn} = pluginApi
    this[name] = pluginFn
  },
  install(plugin){
    plugin(this)
  }
}

快速开始

const {core,pluginAdd} = require('plugin-tools')
core.install(pluginAdd)
console.log(core['pluginAdd'](1,2))

Readme

Keywords

Package Sidebar

Install

npm i plugin-tools

Weekly Downloads

1

Version

1.0.9

License

ISC

Unpacked Size

4.31 kB

Total Files

8

Last publish

Collaborators

  • chwcan