我正在构建一个复杂的 Web 应用程序并尝试将 requirejs 与骨干一起使用。我发现backbonejs 是一个非AMD 框架,它限制我使用requirejs 开箱即用。
我在互联网上进行了研究,发现有一些补丁可以使骨干 AMD 兼容。
如果以这种方式修补是一个没有问题的设置,请指导。由于在backbonejs中修补核心文件,我会在应用程序开发过程中遇到任何问题吗?
如果这是一个愚蠢的问题,我深表歉意:)
我正在构建一个复杂的 Web 应用程序并尝试将 requirejs 与骨干一起使用。我发现backbonejs 是一个非AMD 框架,它限制我使用requirejs 开箱即用。
我在互联网上进行了研究,发现有一些补丁可以使骨干 AMD 兼容。
如果以这种方式修补是一个没有问题的设置,请指导。由于在backbonejs中修补核心文件,我会在应用程序开发过程中遇到任何问题吗?
如果这是一个愚蠢的问题,我深表歉意:)
不,这不是一个愚蠢的问题。我们实际上已经做到了这一点,并且到目前为止对我们来说工作得很好:)
您可以按照本指南了解如何操作:http: //kilon.org/blog/2012/08/build-backbone-apps-using-requirejs/
不要忘记阅读有关使用 Jasmine 进行单元测试的章节。很好的组合在一起。
在 Require.js 2.0 之前,您必须修补 Backbone 以兼容 AMD。你可以在 github 上找到一些与 AMD 兼容的 Backbone 分支(例如amdjs)。幸运的是,Require.js 2.0+ 添加了对使用 Shim 配置加载非 AMD 兼容脚本的支持。例子:
requirejs.config({
shim: {
"backbone": {
deps: ["underscore", "jquery"],
exports: "Backbone"
}
},
paths: {
// as usual
});