我在coffeescript,jade和stylus工作。
我的应用程序提供两种不同的“单页应用程序”。对于这些应用,我在初始有效负载中提供所有资产。
我希望将所有coffeescript文件和jade templeates组合,编译并连接成单个js资产和手写笔文件到每个“单页应用程序”的单个css资源。
然后我可以单独离开/public/js
和/public/css
,他们将始终拥有两个不同应用的当前js和css资源文件。
有没有人之前设置过这样的工作流程?我有什么想法可以做到这一点吗?
谢谢!
编辑:http://blog.fogcreek.com/the-trello-tech-stack/
通过更多的研究,我发现这里写的过程,但他们并没有说明他们是如何做到的。
答案 0 :(得分:5)
示例配置: https://gist.github.com/1094412
另一种选择也是Interleave:
http://www.distractable.net/coding/javascript-builds-using-interleave
手写笔中间件的选项应该为你的CSS排序: http://learnboost.github.com/stylus/docs/middleware.html
这里还有无数的选择:
答案 1 :(得分:2)
我为此编写了一个节点应用程序。它很简单,但它对我有用。代码很简单(72行)你可以随意调整它。每当您保存咖啡,手写笔或玉石文件时,它都会转换为js,css或html。它不会处理文件删除或任何其他花哨的东西。它并不完美,但至少我知道它是如何工作的,这使得调试变得容易。
答案 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任务。