javascript - Grunt Uglify 获取节省的空间总和

标签 javascript node.js gruntjs grunt-contrib-uglify

我有 grunt-contrib-uglify 为我压缩了一堆 js 文件,并且认为如果它能够总结压缩前后文件大小的差异,那就太棒了。有什么办法可以做到这一点吗?

谢谢!

最佳答案

一个简单的方法是编写您自己的任务,使用 nodejs file system library使用 fs.Stats 列出要比较的文件的大小。更复杂的选项是将前大小和后大小记录到带有时间戳的文件中,以便可以跟踪它们并绘制图表。

或者访问 npmjs.org 并获取一个现有项目作为构建的基础:grunt-size-report

咕噜大小报告

修改您的 Gruntfile.js 以添加 size_report 部分:

size_report: {
    your_target: {
        files: {
            list: ['path/to/*.html', 'path/to/images/*.jpg']
        },
    },
},

如果您将 size_report 调用添加到构建命令列表中,您将获得:

~~~~~~~~~~~
Size report
~~~~~~~~~~~

Filename                      Size          %
---------------------------------------------
test/testfiles/test4.txt     9.6 KiB    46.8%
test/testfiles/test1.txt     7.0 KiB    34.0%
test/testfiles/test2.txt     3.5 KiB    17.0%
test/testfiles/test3.txt     447 B       2.1%
=============================================
Total:                      20.5 KiB

此报告未显示节省的空间百分比,但如果您在 /app/dist 文件夹上使用两个单独的子任务运行它,则可以执行自己手动比较。

关于javascript - Grunt Uglify 获取节省的空间总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23221571/

相关文章:

javascript - 如何在 Node.js 和 Express(和 Heroku)应用程序中正确使用 ipinfo.io

node.js - 为什么新的对象构造函数会覆盖以前的对象?

javascript - 如何使用递归解析json时获取id?

javascript - 如何在网页中以单一表单和单一 Controller 实现 Angular js Material 的两个md-autocomplete?

node.js - 如何使用 SSL 从 Node js 连接到 mongodb 副本集

css - 如何让 grunt-autoprefixer 为未编译的 LESS 文件添加前缀?

css - 如何使用现有的源映射将 scss 编译为 css?

ember.js - 给定数据模板名称的匹配模板名称是什么

Javascript - 你能重用 Date() 对象吗?

javascript - 如何在两个分层 Canvas 的底部 Canvas 上注册单击事件