改进的JavaScript构建过程

Improved JavaScript Building process

本文关键字:构建 过程 JavaScript      更新时间:2023-09-26

我只使用带有静态资产的play框架,所以我直接编写javascript和CSS文件并在浏览器(firebug控制台)中进行测试。由于我大部分时间都在搞砸打字错误,我想使用JavaScript代码质量工具和/或编译器。

  • 一个朋友告诉我使用JSLint,它会在代码问题时提醒我。在我看来,我必须安装node.js在我的Javascript资产上运行JSLint,然后我不知道如何将其集成到我的playsbt构建过程中。所以在我看这个之前,我想问:它值得吗?当我使用javascript编译器时,JSLint会带来任何进一步的优势吗?
  • CoffeeScript: -support应该非常简单。我喜欢它,因为在咖啡稿这一边要写的东西更少了。但是它也做语法检查、优化和最小化吗?我可以嵌入纯JavaScript,如果我想优化自己的一部分,同时保持一切在正确的地方?
  • 谷歌闭包编译器:好吧,这一个Javascript Javascript,所以我可以链它与Coffeescript?所以我应该有一切(代码少,语法检查,优化,缩小),或者闭包甚至可以自己做所有这些?它也优化jquery片段吗?

最后一个问题:eclipse IDE是否支持Coffeescript?

  1. JsLint曾经是一个非常强大的工具,但在我看来它已经相当过时了。它没有吸收很多模式和更新的实践,也没有吸收很多ES5的优点。它的语义理解能力很差,使用适当的jsDoc,您可以使用闭包编译器完成相同的工作。使用这两种方法有点过分,而且没有意义。

  2. CoffeeScript是一个非常好的选择。它可以编译成JavaScript,这是一个非常好的体验。

    TextMate bundle对于CoffeeScript来说是非常好的。

    https://github.com/jashkenas/coffee-script-tmbundle

    你可以在CoffeeScript官方页面上找到其他一些不错的IDE集成:

    http://jashkenas.github.com/coffee-script/资源

  3. 闭包编译器确实是JS到JS,但是CoffeeScript编译成JavaScript,你可以使用它来减少编译后的CoffeeScript的输出。它应该会给你一个很好的性能提升。如果你想从闭包编译器的全部功能中受益,你需要将jsDoc @annotations添加到CoffeeScript中。

我们将在Play 2.3中改进我们的JS支持。特别地,我们将着眼于支持JSLint、Closure和/或其他。所采取的方法可能是基于SBT的方法,因此即使在Play之外也具有适用性。