阅读(4087) (1)

基于 webpack 的 SPA 单页 Web 应用 动态加载插件的机制

2017-05-23 11:24:43 更新

我们拿它做什么用

实现可插拔的插件机制。

我们如何做到

由于在webpack的传统模式下是将所有模块都打包到同一文件或者同一系列文件,也就是说它所有模块必须做关联打包,进而无法实现可插拔的注入,也就无法实现插件的开启和关闭。

因此我们的实现方式是:

1.将模块功能以umd模块的方式用webpack打包出来。

  • 1.umd模块单文件用script加载到浏览器后。
  • 2.接着会在window对象上附加一个自身的对象。
  • 3.这样就可以在任意地方获取到这个对象,然后进行模块或功能注入。

Notadd相关代码参考:

https://github.com/notadd/administration/tree/master/resources/mixes/administration/src

项目主页:欢迎star

https://github.com/notadd/notadd