准备客户端Coffeescript:编译,uglifying gzipping

时间:2011-09-08 16:00:21

标签: node.js coffeescript connect uglifyjs

在服务器端,我使用Connect和Socket.IO。我想提供我的客户端代码(也是CofeeScript)来编译(到JavaScript),uglyfied和gzipped。我找了Conenct中间件来做这件事,发现了uglify-js-middleware和gzippo。

但是我不确定首先将它转换为JavaScript的好方法是什么(没有API或什么?)以及我是否应该为每一步使用临时目录以便我可以使用uglify的src和dest选项js-middleware和gzippo或者是否有更好的方法来管理所有这些事情。

可以在启动我的应用程序时完成此操作,因此我不关心检查或任何事情。我可能会以某种方式使用Cake,但我真的不想为此添加一个额外的脚本,如果我可以管它,那将是很酷的,所以我不需要临时目录。

是否有某种中间件可以完成所有这些?我真的不认为我是第一个想要这样做的人。

哦,也许来自客户端目录的CofeeScript可以组合成一个文件,但我想这不是一个真正的问题。

4 个答案:

答案 0 :(得分:7)

啊,如果只有人编写了一个以Rails 3.1资产管道为模型的Connect中间件......哦等等!我最近做了:http://github.com/TrevorBurnham/connect-assets

这是非常早期的阶段,但它完全符合您的要求:将CoffeeScript文件编译为JavaScript,在生产模式下连接和缩小它们,并且不创建新文件(因此没有额外的git差异)。尝试一下,让我知道你的想法。

答案 1 :(得分:1)

查看编译器中间件:http://senchalabs.github.com/connect/middleware-compiler.html。它完全符合您的要求。

app.use express.compiler
    src: "#{__dirname}/public/scripts"
    enable: ['coffee-script']

答案 2 :(得分:0)

http://docpad.org可以非常直观地在服务器端编译它

答案 3 :(得分:0)

有没有人见过Mincer? https://github.com/nodeca/mincer

我现在正在选择一个解决方案,所以我还没有审查过它,但看起来它很强调基于Sprockets,比如连接资产。