【问题标题】:Preparing client side Coffeescript: compiling, uglifying gzipping准备客户端 Coffeescript:编译、丑化 gz​​ipping
【发布时间】:2011-11-13 03:26:59
【问题描述】:

在服务器端,我使用的是 Connect 和 Socket.IO。我想为我的客户端代码(也是 CofeeScript)提供编译(到 JavaScript)、丑化和 gzip 压缩。我寻找 Conenct 中间件来为我做这件事,并找到了 uglify-js-middleware 和 gzippo。

但是我不确定什么是首先将其转换为 JavaScript 的好方法(是否没有 API 或其他东西?)以及我是否应该在每个步骤中使用临时目录以便我可以使用 uglify 的 src 和 dest 选项- js-middleware 和 gzippo 或者是否有更好的方法来通过所有这些东西进行管道传输。

在启动我的应用程序时完成它就可以了,所以我不关心检查或任何事情。我可能会以某种方式使用 Cake,但我真的不想为此添加额外的脚本,如果我可以通过管道传输它会很酷,这样我就不需要临时目录了。

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

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

【问题讨论】:

    标签: node.js coffeescript connect uglifyjs


    【解决方案1】:

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

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

    【讨论】:

    • 它看起来很棒,但是有一个选项真的很酷,所以所有 *.coffee 文件都合并到一个 JS 文件中(这很好,如果你将很多类分成很多文件并且不想包括它们)。另外,他们不能在后面被压缩吗?哦,你可以做一些事情,比如删除文件中不必要的空格。
    • @knex 已经支持连接和缩小;默认情况下,它仅在 NODE_ENV 设置为 production 时启用。 Gzipping 是一个悬而未决的问题,很快就会得到解决。
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      http://docpad.org可以很直观的在服务端编译

      【讨论】:

        【解决方案4】:

        有人见过明瑟吗? https://github.com/nodeca/mincer

        我现在正在选择一个解决方案,所以我还没有审查它,但看起来它强烈基于 Sprockets,比如 connect-assets。

        【讨论】:

          猜你喜欢
          • 2014-05-25
          • 1970-01-01
          • 2019-01-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-07-29
          相关资源
          最近更新 更多