我正在使用一个预先构建的客户端应用程序,这些应用程序都是用我需要扩展的 Dojo 1.8(AMD 风格)编写的。
我可以访问源代码,但希望尽可能保持不变,而是支持覆盖(这就是应用程序插件框架的工作方式,其他任何东西都是hack)。
我的脚本仅在基本应用程序脚本之后加载。例如,我不能修改 djConfig,也不能在加载基本应用程序模块之前发生任何其他事情。
这是我的问题:我想扩展其中一个基础应用程序类(使用声明创建)并在全局范围内应用我的覆盖——即使在已经需要包含此类的模块(但尚未实例化它)的预加载模块上也是如此。
到目前为止,我发现的最佳解决方案是使用 require() 为包含该类的模块设置别名。但这仅适用于在我可以注册别名之后需要该类的模块。