gpt4 book ai didi

backbone.js - 如何使用 RequireJS 加载 Backbone 深度模型?

转载 作者:行者123 更新时间:2023-12-04 05:12:05 26 4
gpt4 key购买 nike

虽然 Backbone 深度模型支持 AMD 与 RequireJS 一起使用,但它依赖于 下划线混合 在与 AMD 不兼容的名为 underscore.mixin.deepExtend.js 的外部文件中。

看这个问题:How to mixin Underscore plugins in RequireJS? ,看来我可以在 中手动将 deepExtend 混入 Underscore垫片初始化设置 在 RequireJS 中。

...
shim: {
...

'deep-model': {
deps: 'underscore',
init: function() {
_.mixin(/* hash of deepExtend functions */);
return _;
}
}
}
...

但是,由于 underscore.mixin.deepExtend 不返回 _.mixin() 所需的函数散列,所以我现在不知道该怎么做。

有没有办法在不修改源代码的情况下使用 RequireJS 加载 Backbone 深度模型?

最佳答案

这可能不是您要寻找的答案,但我个人建议的一种选择是完全将 Underscore(以及任何混合组件,可能还有 Backbone 和 jQuery)从 Require 中移除。这种方法的主要优点(除了使您的问题作为副作用消失之外)是您不必通过导入相同的库(或如果您对 Backbone/jQuery 执行相同操作的库)来启动每个 require 模块。

诚然,这会稍微“污染”全局空间,但在我看来,_ (或 $Backbone )全局命名空间中的变量不会造成任何伤害。然而,它会解决您的问题,完全不需要垫片,并为您节省大量导入。当然,您可以(并且应该)仍然将 Require 用于您自己的代码,因为防止您的变量“污染”全局命名空间将为您节省 future 的麻烦。

只是一个想法。

关于backbone.js - 如何使用 RequireJS 加载 Backbone 深度模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14787817/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com