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

我们拿它做什么用

实现可插拔的插件机制。

我们如何做到

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

因此我们的实现方式是:

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

  1. umd模块单文件用script加载到浏览器后。

  2. 接着会在window对象上附加一个自身的对象。

  3. 这样就可以在任意地方获取到这个对象,然后进行模块或功能注入。

Notadd相关代码参考:
https://github.com/notadd/adm…

项目主页:欢迎star

https://github.com/notadd/notadd

    原文作者:依剑听雨
    原文地址: https://segmentfault.com/a/1190000009452567
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞