【问题标题】:Is there any benefit to minifying source code that is read only by Node? [duplicate]缩小 Node 只读的源代码有什么好处吗? [复制]
【发布时间】:2014-02-14 23:56:46
【问题描述】:

在 NodeJS 应用程序中,使用缩小的源代码服务器端有什么好处?

我能想到的唯一好处是,较小的 JS 文件从磁盘加载的速度可能会稍微快一些。但这似乎可以忽略不计,因为它只会影响启动时间。

那么,在将源代码部署到我们的生产服务器之前,是否有任何理由通过 uglify 或闭包编译器来处理我们的源代码?

【问题讨论】:

  • @mfreitas:很好的发现。我的查询没有得到它。谢谢

标签: javascript node.js google-closure-compiler minify uglifyjs


【解决方案1】:

缩小点是减少带宽(更小的文件 = 更少的字节)。由于您没有将服务器端代码发送给客户端,因此没有理由减少它。诚然,从磁盘读取文件会稍微快一点,但如果启动时间是你的瓶颈,你就会遇到一些更大的问题。

话虽如此,闭包编译器不仅仅是一个缩小器:它试图成为一个 javascript 编译器,试图加速你的代码。不同的 JIT 也可能更喜欢您的“编译”代码,尤其是在函数内联中。话虽如此,速度差异可能可以忽略不计。

总结:不,但您可能会喜欢收获副作用。我不知道任何测试,所以你可以成为该领域的先驱。在一段时间内对未缩小的程序进行基准测试,然后对缩小版本进行基准测试。

【讨论】:

    【解决方案2】:

    是的。

    这会减少启动时间,因为 node.js 会在每次进程启动时加载并解析它们。

    但是这样做的好处是微不足道的。如果你正在编写一个服务器,你甚至不应该这样做,因为服务器只启动一次并且工作很长时间。

    但是,如果您正在编写大型 CLI 应用程序(像 yapm 或 bower 或组件这样的包管理器就是很好的例子),那么您就有可能大大减少启动时间。这不仅是因为缩小,而且主要是因为捆绑和保存 require() fs 命中。不过,缩小本身并没有带来太多好处。

    无论如何,尝试使用nexe 编译您的应用程序并自己找出答案。有可能你不会从中得到任何好处,但至少你会知道。 :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-22
      • 2011-02-05
      • 2016-09-20
      • 2012-08-18
      • 2020-03-21
      • 2021-05-16
      相关资源
      最近更新 更多