是否/为啥 Rails 6 仍在使用/推荐 CoffeeScript?

Posted

技术标签:

【中文标题】是否/为啥 Rails 6 仍在使用/推荐 CoffeeScript?【英文标题】:Is / why is Rails 6 still using / recommending CoffeeScript?是否/为什么 Rails 6 仍在使用/推荐 CoffeeScript? 【发布时间】:2020-03-13 14:08:13 【问题描述】:

我是 Rails 词的新手。使用 Rails 6 并遵循指南/教程。在官方 Rails 指南中,有 CoffeeScript 示例,甚至建议使用 CoffeeScript,参见:https://guides.rubyonrails.org/working_with_javascript_in_rails.html#an-introduction-to-ajax(即使在边缘指南中:https://edgeguides.rubyonrails.org/working_with_javascript_in_rails.html#an-introduction-to-ajax)。

作为一名经验丰富的 JavaScript 开发人员,在过去三年中,我从未见过任何公司选择 CoffeeScript 作为他们的 JavaScript 工具。由于 CoffeeScript 的创新,JavaScript 得到了发展,对 CoffeeScript 的需求消失了。

现在为什么 Rails 仍然推荐它?我觉得它很可能会让 Rails 的新手感到困惑,因为对于大多数新开发人员来说,CoffeeScript 甚至不再是一个东西了。如果您阅读有关 JavaScript 的内容,这是一堂很好的历史课,但仅此而已。

谢谢!

【问题讨论】:

认为这更多是基于意见而不是任何事情。我认为这只是因为 Rails 是一个相当古老的框架,而当时,Coffeescript 有很多 Javascript 直到 3-4 年前才具备的功能。 Coffeescript 本质上是 JS,但更易于阅读,但我认为通常几乎没有人再使用 Coffeescript,即使在 Rails 社区中也是如此。但是,嗯,这正是我从谷歌搜索和阅读中得到的。 这对于 *** 来说并不是一个真正的好问题,因为它很难客观地回答,如果不是不可能的话。现在我想说的原因可能是指南没有得到足够的爱。如果你想真正回答这个问题,你应该试试Rails guides mailing list。 啊,太好了,我正在寻找类似的东西,rails 网站上默认的“寻求帮助”正在重定向到这里。 那个特别的 Ajax 指南是很久以前写的,当时 CS 是自切片吐司以来最热门的东西。即使在那时,我真的很恼火,他们不只是用 JS 编写它。如果您查看像 ActionCable 之类的较新的东西,它的所有 JS 指南。 “感谢 CoffeeScript 的创新,JavaScript 得到了发展,对 CoffeeScript 的需求消失了。”我的 2ct:他们可能包含了来自 CoffeeScript 的 一些 创新,但 CoffeeScript 在这方面仍然遥遥领先。 Rails 和 DHH 一直代表质量和令人愉快的编码,而不是试图赢得人气竞赛。否则他们不会选择 Ruby 作为他们的框架,也不会坚持使用它,因为 Ruby 不那么“流行”了。这可能是 Rails 社区的核心仍然偏爱 CoffeeScript 以及他们仍然推荐它的原因。 【参考方案1】:

有一个拉取请求打开以更改信息:https://github.com/rails/rails/pull/37529

【讨论】:

【参考方案2】:

Rails 社区不再推荐 CoffeeScript。 RIP Coffeescript。

【讨论】:

【参考方案3】:

我是通过谷歌搜索到这里的。以下是我在过去 30 分钟内学到的内容:

discussion 有很多关于更新 rails 指南以删除 coffeescript 发生了,recent versions 的 rails 指南不再参考 coffeescript 轶事,但我询问过的一些非常有经验的 Rails 开发人员不再使用 coffeescript。

现在 JS 是一门相当不错的语言,所以没有理由再使用 CoffeeScript。另外,我认为没有人维护

基于此信息:

我将使用最新的 rails 指南(不使用咖啡脚本) 我不会使用或学习coffeescript

【讨论】:

以上是关于是否/为啥 Rails 6 仍在使用/推荐 CoffeeScript?的主要内容,如果未能解决你的问题,请参考以下文章

为啥不推荐使用 AngularJS $http 成功/错误方法?从 v1.6 中删除?

为啥不推荐使用 Enumerable#each_with_object ?

为啥easy-autocomplete在Rails 6上不起作用?

为啥在保存对象后使用“重新加载”方法? (Hartl Rails Tut 6.30)

为啥即使删除后 onAuthStateChanged 侦听器仍在侦听

将未维护的 ActiveRecord 适配器强制转换为 Rails 版本 6