backscore.js 真的需要 underscore.js 吗?
Posted
技术标签:
【中文标题】backscore.js 真的需要 underscore.js 吗?【英文标题】:Does backbone.js really require underscore.js? 【发布时间】:2014-02-28 11:29:58 【问题描述】:由于我是 backbonejs 和 underscorejs 的新手,我想知道它们的核心含义。
根据我的理解 underscorejs 就像 jQuery 库一样,我们在backscorejs 中使用这些函数。
没有underscorejs我们无法开发backbonejs应用。
我说的对吗?如果我的理解有误,请用简单的文字/例子来说明这一点。
提前致谢。
【问题讨论】:
正确 - 因为backscore.js严重依赖underscore.js。就像它在项目页面上所说的那样:“Backbone 唯一的硬依赖是 Underscore.js” 是的,underscore.js 就像 jQuery 一样,是一个辅助函数的集合。 下划线是一种模板语言,您可以使用它根据您的主干模型构建一个 html 代码。 @zaynetro 不正确,下划线是一个实用程序库,其中一个实用程序是模板 @JamesHalsall 谢谢,还在学习中 感谢您的回答,我明白没有替代 underscorejs(用于主干js)。有疑问并清除。再次感谢。 【参考方案1】:是的,下划线是 Backbone 中的硬依赖。但是,如果您喜欢 Backbone 而不是 JQuery 或 Underscore,那么隧道尽头有光明:请查看 Exoskeleton (https://github.com/paulmillr/exoskeleton)。
Exoskeleton 将加载 JQuery 和 Underscore 如果找到它们但没有它们也能正常工作。
来自他们网站的引述:
Exoskeleton 是您的 HTML5 应用程序的更快、更精简的 Backbone。 在 Exoskeleton 中 jQuery 和 Underscore 都是 100% 可选的。你可以把它们扔掉。 在不使用 jQuery 的情况下使用 Exoskeleton 时,您的视图渲染速度将提高 5.5 倍*。它们消耗的内存也将减少 2 倍。 您只需将 Backbone 替换为 Exoskeleton,它就会像以前一样工作。 Exoskeleton 通过 100% 的 Backbone 和 Chaplin 测试套件,无论是否存在依赖关系。
【讨论】:
该项目似乎不再处于积极开发中。该网站链接已失效,因为 git repo 已多年未触及。 项目现在位于github.com/paulmillr/exoskeleton - 我会修改答案。【参考方案2】:下划线不强制使用backscore,可以使用underscore with knockout,但是如果你想使用backbone;主干唯一的硬依赖是Underscore.js
。
【讨论】:
【参考方案3】:从某种意义上说,如果没有像下划线这样的辅助库,主干就无法工作。 但是您可以使用lodash 代替下划线。 我更喜欢它而不是下划线,因为它具有更多功能,例如高性能、AMD 支持、自定义构建支持等。
【讨论】:
【参考方案4】:Backbone 严重依赖 Underscore 库。您不能拥有没有下划线的 Backbone 应用程序。
【讨论】:
【参考方案5】:来自http://underscorejs.org/
Underscore 是一个用于 javascript 的实用工具带库,它提供了一个 许多您期望的函数式编程支持 Prototype.js(或 Ruby),但没有扩展任何内置的 JavaScript 对象。这是与 jQuery 的 tux 搭配的领带,并且 Backbone.js 的吊带。
【讨论】:
以上是关于backscore.js 真的需要 underscore.js 吗?的主要内容,如果未能解决你的问题,请参考以下文章
Spring-Data-Jpa 存储库 - 实体列名称上的下划线