如何解决延迟加载js模块(文件)的依赖定义?

How to solve the definition of dependences with lazy loading js module (file)?

我有带有外部模块(ES6 模块)的 TypeScript,它由 es5 包中的 webpack 和 ts-loader 解析和编译。

而且我还有单独的模块(通常是带有 class 的文件),它们可以扩展、修补和添加功能到主包,所以这些单独的模块从主包导入依赖项。

但是,这些单独的模块可以随时创建并随时访问服务器(编译 .js --> 上传 --> 服务器) 所以主包不对他们一无所知。

这个怎么实现? Require.ensure不合适,把window的依赖都转发了,很不爽,包括开发。

P.S.: 以前,这个问题很简单地通过内部模块(全局命名空间)和捆绑文件连接来解决。任何模块(对象)都可以从 window 获得,因此通过本机延迟加载(ajax 脚本)可以扩展、修补和添加功能到 bundle。

DllPlugin / DllReferencePlugin + NamedModulesPlugin