缩小Node只读的源代码有什么好处?

时间:2014-02-14 23:56:47

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

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

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

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

2 个答案:

答案 0 :(得分:8)

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

话虽如此,闭包编译器不仅仅是一个缩小器:它试图成为一个javascript编译器,试图加速你的代码。不同的JIT可能也更喜欢你的“编译”代码,特别是在函数内联中。说过 后,速度差异可能会微不足道。

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

答案 1 :(得分:3)

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

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

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

无论如何,尝试使用nexe编译您的应用并自行查找。有可能你不会从中获得任何好处,但至少你会知道它。 :)