coffeescript,玉器,手写笔 – > js,css资产经理? 的node.js

我在咖啡,玉和铁笔工作。

我的应用程序提供两个不同的“单页应用程序”。 对于这些应用程序,我为初始有效负载提供所有资产。

我想将所有的咖啡脚本文件和玉雕成一个单一的js资产和手写笔文件分组,编译和连接成一个单一的CSS资产为每一个“一个页面的应用程序”。

然后,我可以将我的/public/js/public/css单独留下,并且它们将始终具有两个不同应用程序的当前js和css资产文件。

有没有人以前设置过这样的工作stream程? 任何想法我可以做到这一点?

谢谢!!

编辑: http : //blog.fogcreek.com/the-trello-tech-stack/

通过更多的研究,我发现了这里写的这个过程,但是他们没有说明他们是如何做到的。

你可以用JS很简单地用Express + Stitch / StitchUp来做到这一点

示例configuration: https : //gist.github.com/1094412

Interleave也是另一种select:

http://www.distractable.net/coding/javascript-builds-using-interleave

手写笔中间件的选项应该sorting为您的CSS: http : //learnboost.github.com/stylus/docs/middleware.html

这里还有无数的select:

http://toolbox.no.de/search?q=asset

我为此写了一个节点应用程序。 这是非常简单的,但它适用于我。 代码非常简单(72行),您可以随意调整它。 每当你保存咖啡,手写笔或玉档,它会转换为js,css或html。 它不会照顾文件清除或任何其他花哨的东西。 这不是完美的,但至less我知道它是如何工作的,这使得debugging变得容易。

https://github.com/Gijsjan/Template-Engine-Watcher

我写了一个开源项目(MIT许可证)来解决这个问题:

Giles – https://github.com/255BITS/giles

Giles为你build立你的静态资产(Jade,Stylus,CoffeeScript)。 它可以单独运行,也可以作为Web服务器运行,也可以作为连接模块运行。 您可以轻松添加对其他语言的支持(请参阅github页面)

您可以使用connect-assetspipe道将编译好的Jade资源拉到您的JavaScript中,方法是使它们与使用它们的CoffeeScript文件相关联。

我有一个博客文章的详细信息 – > 服务器端编译与连接资产的Jade模板 。

我推荐使用Grunt ,使用Grunt可以设置各种工作stream程和任务。 我个人使用mean.io作为我的大部分项目的样板。 他们有一个非常好的Grunt文件,其中大部分任务需要使用assetmanager将 css和js 缩减为一个文件。 Mean.io不使用玉石或手写笔,但可以轻松添加这些Grunt任务。