首先是历史,我们有一个引擎,它由许多本质上是模块的 javascript 文件组成。这些模块返回一个分配给全局范围的单个类,尽管在指定的命名空间下。
引擎本身用于显示 eLearning 内容,每个不同的 eLearning 课程需要略有不同的需求,这是我们根据必要的功能将 javascript 文件包含到页面中的地方。(只有一个入口页面)。
我一直在权衡是否值得更改为 AMD、require.js 和 r.js,或者是否最好继续使用我们当前的系统,该系统包含页面上所需的所有内容并将其最小化到一个脚本中。
我去 AMD 的最大问题之一是,似乎很难轻松地扩展一个类。例如,有时我们必须稍微调整原始类的行为。因此,我们在页面上添加另一个脚本包含,通过复制原始原型来扩展原始类,执行被 apply 覆盖的原始函数,然后执行所需的任何附加代码。
您可以在不修改原始文件的情况下扩展 AMD 模块吗?还是我错过了重点,我们最好坚持目前正在做的事情?