将jQuery移植到CoffeeScript吗?

| CoffeeScript似乎是一种很有前途的新技术,我肯定会在下一个项目中尝试一下。 看起来jQuery可以很容易地与CoffeeScript一起使用-但是将jQuery完全移植到CoffeeScript是否有意义(以下划线的相同移植方式),还是浪费时间? 一个这样的港口将带来什么优势? 除了可能的兼容性问题外-这还会引起问题吗(即jQuery的纯js中可能使用的技巧,而CoffeeScript中是不可能的?)     
已邀请:
        Underscore仅被移植为CoffeeScript的功能和简洁性的展示。另外,带注释的CoffeeScript源代码为CoffeeScript中的熟悉者提供了更清晰的文档。但是正式版本仍使用纯JS维护,而不是使用CoffeeScript编译。 我认为,类似地,仅将jQuery移植到CoffeeScript才有意义,以便好奇的编码人员可以享受带注释的源代码,这将使库的内部工作更加清晰。 jQuery得益于足够强大的JavaScript程序员的关注,我怀疑将其移植到CoffeeScript会带来任何改进。 不过,我希望看到有人这样做,并假设他们以相同的行为制作了美观的代码。我认为适配器必须仔细考虑的一件事是如何将命名函数(
function foo()
)移植到未命名函数(
foo = function()
),因为CoffeeScript仅支持后者(由于在某些情况下跨浏览器不一致),并且两者有不同之处范围界定行为。 JavaScript的
==
应该不是问题,因为我能找到的唯一用在jQuery源中的情况是
x != null
,可以在CoffeeScript中用
x?
完成。     
        更正Coffeescript是Javascript生成器。同时更正源代码可以更清晰。绝对没有在Coffeescript中无法完成的JS技巧-如果需要,您可以使用纯JS-而且我不确定我是否听说过有人需要去做这个。如果要使用Javascript,只需将表达式括在反引号中:
`var foo = 42`
我不同意代码是“更大”。我会断言代码中的大多数额外字节都是您应该一直插入但不是的字节,就像在您自己的代码周围添加名称空间包装器一样。在某些情况下,Coffeescript具有巧妙的助手,可以将常见的使用模式排除在外,因此不会一次性编写它们。您可以通过稍微阅读生成的js来弄清楚这些是什么。 在优势方面,我想这很大程度上取决于您对代码的看法。我喜欢将功能块封装在类中,并且讨厌基于Javascript原型的对象定义。就声明类和继承而言,Coffeescript更像是Rubyish或Pythonesque。 我对您的建议是:1)阅读Trevor Burnham的Coffeescript书,并了解Coffeescript在实践中的工作方式; 2)整理一些简单的示例来解决您的用例; 3)熟悉语法后,看看您的喜好如何。 注意:Coffeescript Google网上论坛是一个很好的资源,人们可以在那里迅速回答问题-可能有人之前遇到过令人困惑的事情,他们会分享答案。 Trevor在他的书中列出了一整套资源。 (不,我没有得到酬劳给他做书上的道具:)     
        考虑到coffescript只是编码javascript的另一种方式,因此您可以在javascript中做的所有事情都可以在coffescript中完成,反之亦然。 显然,咖啡的唯一优点是源代码更清晰,这使得它更易于阅读和编码。缺点是,coffescript生成的javascript最有可能证明是比当前的要大得多。对于库来说,这是一个很大的问题... 因此,有一个coffescript版本作为文档文档供尝试理解jQuery的人们使用会很有趣,但是在主代码中使用coffescript不会有任何不同     
        我知道我已经迟了两年了,但是我将jQuery移植到了CoffeeScript。出于比较目的,应查看该代码(jQuery的.js代码与.coffee代码),因为我并不专注于添加注释。 查看http://github.com/sharikul/jQuery-Coffee     

要回复问题请先登录注册