jQuery 模板已被弃用?
Posted
技术标签:
【中文标题】jQuery 模板已被弃用?【英文标题】:jQuery Templates are deprecated? 【发布时间】:2011-12-16 05:44:01 【问题描述】:我看到,根据jQuery plugin template page,jQuery 插件已经从测试版变为弃用,而没有通过真正的发布。我在 jquery.com 或其相关网站上找不到任何有关原因的信息。或者当可能有替代品时。也许是 1.8?
这很令人沮丧,因为我的项目在 jQuery 模板上投入了大量资金。现在它看起来像是一项糟糕的投资,我们正在寻找其他基于 jQuery 的东西,包括 javascriptMVC。
有更好的建议吗?我很乐意在 cmets 中获取基本原理或其他信息,但我更喜欢建议作为答案。
【问题讨论】:
【参考方案1】:我使用了 jQuery 模板和把手。恕我直言,在使用、代码清晰度和速度方面,handlebars 比 jquery 模板要好得多。相对而言,Handlebars 预编译的模板在各种浏览器上的加载速度非常快。查看此链接以比较不同的模板引擎:http://jsperf.com/jquery-template-table-performance/134
【讨论】:
【参考方案2】:jQuery 模板并没有死,它们只是没有作为项目的官方模板语言。该项目的维护者可能仍会进行一些更新(并计划在未来重做相当多的更新)。
JavaScriptMVC 比模板复杂得多,您可以使用几乎任何您想要的模板语言。
现在一些比较流行的模板语言是Mustache/Handlebars、Dust.js、Haml、Embedded JavaScript 和其他一些。前三个实际上与 jQuery 模板的语法非常相似,只是它们本身不会为您的元素创建 jQuery 对象。不过这很容易添加。
【讨论】:
你能添加一些链接到你建议研究的项目吗? @AlexSexton - 你使用你列出的任何一个吗?你有偏好吗? 我大部分时间都使用车把。它很像经典的 mustache,但解析器速度更快,并且对 helpers 之类的一些东西有更好的支持。网站上列出了更多差异。我也在 sproutcore 中为它创建了一个 require.js 插件:github.com/slexaxton/sc-handlebars - 我以前也经常使用 Dust.js。它非常严格,这可能很好,但是我很难将它集成到我的 require.js 项目中并且想结识新朋友,所以我尝试了车把。【参考方案3】:是的,a lot of people are pissed off 关于放弃 jQuery 模板(除其他外)。好的一面是,某种模板将在新的 jQuery UI 中实现(不确定这是否还没有)。最好的办法是寻找替代的模板引擎。
jQuery wiki上提供了比较表。
【讨论】:
我对比较表是由 Boris 编写的这一事实有点不满,他对 JsRender/JsViews 的成功有很大的影响。那个方向不清楚,jQuery UI 的方向感觉很模糊。 @JJO - 该比较表最初由 Boris 编写,但已由 jQuery UI 团队的领导进行了广泛的工作,包括我自己、Scott González 和 Jörn Zaefferer。任何拥有该 url 的人也可以编辑它,我们邀请世界添加它。标记为核心的部分下方的五行是到目前为止 jQuery UI 团队已经同意应该在我们的核心 jQuery UI 模板引擎中的功能。我们在这一点上做出的唯一另一个重大方向决定是我们将完全支持一个引擎(我们将建造和交付),但人们可以更换他们选择的引擎。 ... 我们计划这样做的方式是有一个简单的合同,类似于“模板引擎是一个接受两个参数、一个模板字符串和一个数据对象的函数;并返回一个字符串" @rdworth - 非常感谢您的回复。作为一名开发人员,我不想在一项已弃用的技术上投入一行代码。我也不想投资像 JsViews 这样直言不讳地标榜为“尚未测试版”且没有公布何时稳定的计划草案的技术。这不是运输产品的好地方。 我理解您的感受,但是,当涉及到模板时,它们有些有限。如果您可以在当前版本中使用您正在使用的任何东西,那么更新将为您带来的唯一东西就是速度、新功能和新的不兼容性。如果您对 jqTemplates 的工作方式感到满意,那么在项目中使用它也不会太疯狂。【参考方案4】:我认为这篇文章可以为您提供一些见解,并可能给您一些思考。 http://www.borismoore.com/2011/10/jquery-templates-and-jsviews-roadmap.html
【讨论】:
以上是关于jQuery 模板已被弃用?的主要内容,如果未能解决你的问题,请参考以下文章
@angular-cli 安装失败,请求被弃用@2.88.2:请求已被弃用(mac)
HttpEntity 现在在 Android 上已被弃用,还有啥替代方案?