coffeescript,jade,stylus - > js,css资产经理?的node.js

时间:2012-01-25 10:32:43

标签: javascript node.js coffeescript express connect

我在coffeescript,jade和stylus工作。

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

我希望将所有coffeescript文件和jade templeates组合,编译并连接成单个js资产和手写笔文件到每个“单页应用程序”的单个css资源。

然后我可以单独离开/public/js/public/css,他们将始终拥有两个不同应用的当前js和css资源文件。

有没有人之前设置过这样的工作流程?我有什么想法可以做到这一点吗?

谢谢!

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

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

5 个答案:

答案 0 :(得分:5)

使用Express + Stitch / StitchUp

,您可以使用JS完成此操作

示例配置: https://gist.github.com/1094412

另一种选择也是Interleave:

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

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

这里还有无数的选择:

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

答案 1 :(得分:2)

我为此编写了一个节点应用程序。它很简单,但它对我有用。代码很简单(72行)你可以随意调整它。每当您保存咖啡,手写笔或玉石文件时,它都会转换为js,css或html。它不会处理文件删除或任何其他花哨的东西。它并不完美,但至少我知道它是如何工作的,这使得调试变得容易。

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

答案 2 :(得分:0)

我写了一个开源项目(麻省理工学院许可证)来解决这个问题:

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

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

答案 3 :(得分:0)

您可以使用connect-assets管道将已编译的Jade资产拉入JavaScript,方法是使用它们依赖于使用它们的CoffeeScript文件。

我有一篇博客文章,其中包含详细信息 - > Server side compiling of Jade templates with connect-assets

答案 4 :(得分:0)

我建议使用Grunt,使用Grunt可以设置各种工作流程和任务。我个人使用mean.io作为我的大多数项目的样板。他们有一个非常好的Grunt文件,其中包含了使用assetmanager将css和js连接并缩小为单个文件所需的大多数任务。 Mean.io不使用玉器或手写笔,但您可以轻松添加那些Grunt任务。