在Save上编译CoffeeScript?

时间:2011-06-08 23:12:22

标签: javascript node.js textmate coffeescript

有没有在保存时轻松编译CoffeeScript?我正在使用TextMate或Sublime Text 2。

7 个答案:

答案 0 :(得分:66)

Coffeescript有一个'手表'功能。您可以将其设置为半永久性过程:

coffee –wc -o media/js/ src/coffee/*.coffee

对于扩展名为“.coffee”的每个文件,每次保存时,相应的已编译“.js”文件将被放入目标目录。

那就是说,我使用了makefile和fabfile,因为我的HTML是HAML,我的CSS是LessCSS,而我的开发目录不是我的测试路径,所以我需要足够聪明的东西来“构建和部署”。

如果您的计算机支持inotify,您可以使用inotifywait来监视整个工作路径,并根据需要调用Make。但就在那时,你已经陷入了顽固的极客。

答案 1 :(得分:19)

您也可以在没有命令行的情况下完成此操作:

  1. Add a build process to Sublime Text
  2. 确保在Save All on Build菜单中选择Tools
  3. 保存时使用⌘B而不是⌘S。
  4. 因此,不是编译保存,而是保存编译。

答案 2 :(得分:3)

Sublime最直接的解决方案是安装名为Better Coffeescript的Sublime包(首选项 - >包控件 - >安装包...),然后确保其配置包括{{1} }(首选项 - >包设置 - >更好的Coffeescript ...)。然后重启Sublime。

对于Sublime,其他任何内容都不够或太多额外的组件。升级到Sublime 3之后来到这里,它就像Sublime 3的魅力一样(就像Sublime 2那样,我刚开始忘了它。)

答案 3 :(得分:2)

coffee --watch有两个主要缺陷:

  • 发出命令后创建的新文件未被监视
  • 需要手动启动,因此有可能忘记这样做,这听起来比忘记编译之前更加精彩git commit

我提出的解决方案是一个相当简单的Bash脚本,它使coffee --watch更进一步,这将允许您的工作目录树自系统登录以来被监视,并自动在每个文件上编译成JavaScript保存更改 或新文件创建:

http://blog.gantrithor.com/post/11609373640/carefree-coffeescript-auto-compiler

可能有更优雅的方法来做到这一点,但这种实现效果很好=)

答案 4 :(得分:1)

如果您还想要捆绑,那么buildr也会提供观看和捆绑功能:https://github.com/balupton/buildr.npm

  

(Java | Coffee)脚本和(CSS | Less)(Builder | Bundler | Packer | Minifier | Merger | Checker)

答案 5 :(得分:1)

gem install stasis
stasis -d

我发现的最佳解决方案与所有其他静态编译工具(如StaticMatic,Middleman等)相比。

非常灵活且可配置,不依赖于任何预设的文件夹结构。只需添加controller.rb并编写一些Ruby。很多帮助者在编译之前/之后做聪明的事情。

https://github.com/winton/stasis

答案 6 :(得分:0)

我喜欢codekit :)简单而有效的方法来编译coffeescript,sass,less,haml等等,有很多细节。 http://incident57.com/codekit/