简介
插件可以做什么
WinJS 的所有功能都是通过插件系统实现的,这意味着 WinJS 中的所有能力是都对开发者开放的。开发者可以通过编写插件来扩展更多功能,适配复杂场景,包括但不限于:
- 注册命令
- 修改 WinJS 配置、配置校验 Schema
- 修改编译时的 Webpack/Babel/Less/Sass/Tailwind CSS/... 配置
- 修改运行时需要渲染的 Vue 组件
- 修改页面路由
- 自定义动态 HTML 模版
- 自定义 Vue 组件客户端
- ...
当 WinJS 暂时没有覆盖到你所需要的功能或场景时,可以开发一个自定义插件,来实现适配特殊场景的相关功能。
插件和插件集

WinJS 支持插件和插件集,通过这张图应该很好理解到他们的关系,通过插件集我们把插件收敛依赖然后支持不同的业务类型。插件是为了扩展一个功能,而插件集是为了扩展一类业务。比如要支持 vue2,我们可以有 @winner-fed/preset-vue2,包含 vue 2.x 相关的构建和运行时;比如要支持 h5 的应用类型,可以有 @winner-fed/preset-pc,把 pc 相关的功能集合到一起。
如果要类比,插件集和 babel 的 preset,以及 eslint 的 config 都类似。