我使用预编译的客户端应用程序,这些应用程序都是用我需要扩展的Dojo 1.8(AMD样式)编写的。Dojo:覆盖预装的模块
我有权访问源代码,但希望在可能的地方使其保持不变,而是倾向覆盖(这就是应用程序插件框架的工作原理,其他任何东西都是黑客)。
我的脚本只在基本应用程序脚本之后加载。例如,我不能修改djConfig,也不能在加载基本应用程序模块之前发生其他任何事情。
这是我的问题:我想扩展其中一个基本应用程序类(使用declare创建),并在全局范围内应用我的覆盖 - 即使在已经需要包含此类的模块的预加载模块上(但尚未实例化它)。
到目前为止,我发现的最佳解决方案是使用require()来为包含类的模块别名。但是,这只适用于我可以注册别名后需要该类的模块。
最好的办法是只覆盖的原型您要编辑的模块。您可以直接使用原型或使用dojo.extend来完成此操作。另外看起来“道场猴修补” – tik27