美文网首页
使用uglifyjs压缩JS

使用uglifyjs压缩JS

作者: HelloJames | 来源:发表于2018-01-06 20:49 被阅读7020次
    • 背景介绍
      ======
      大家有没有去看过jquery-1.8.3.min.js文件中的代码? 如果有看过你会发现变量名都是a, b , c啥的.且所有的代码没有空格一大长串.这时可能你会疑惑, 为何会这样?

    其实这是线上经过压缩后的代码, 一般开发团队都有自己的工作流程, 代码起码要分为开发版和发布版两种.发布版一般都要走压缩混淆的流程.目的是为了减小文件的大小, 尽量减少网络开销.

    • Node.js相关流程
      ======

    1. 安装node.js
    2. 安装当前应用 -- uglifyjs

    如何安装node.js就不再介绍了, 百度一下一大把.安装uglifyjs如下:

    npm install uglify-js -g
    
    image.png
    • uglifyjs压缩JS文件
      ======

    uglifyjs压缩有很多的参数, 详细可以参阅其[github托管项目][1]. 其中一些参数, 如下截图:

    image.png

    什么美化压缩, 空格多长等等....想仔细研究的话, 可以自己去其github托管项目中看看. (因为本人英文有限, 就不翻译了).
    [1]: https://github.com/mishoo/UglifyJS2

    演示如何使用uglifyjs压缩JS

    打开一个用于存放JS文件的文件夹,文件目录如下图:

    image.png

    准备压缩lazyLoad.js做实验, 当前该文件的大小为10KB.我们来进行压缩,看看压缩后的文件大小是多少?

    这里给大家介绍一个小技巧, 以方便快速地打开cmd, 并定位到当前目录.

    按住Shift键的同时在当前文件下右击, 在弹出的菜单中选择"在此处打开命令窗口"即可.

    image.png

    点击"在此处打开命令窗口"后即可以进入到cmd, 你会发现已经切换到当前文件所在的路径了.
    此时输入命令对lazyLoad.js文件进行压缩并输出文件名为lazyLoady.min.js的文件:

    uglifyjs lazyLoad.js -o lazyLoad.min.js
    

    也可以运行如下代码, 测试一下-m参数:

    uglifyjs lazyLoad.js -m -o lazyLoad.min.js
    
    image.png

    查看一下结果, 如下截图:

    image.png

    可以看到, 压缩后只有3KB, 相比之前的, 文件缩小了3倍多.快去试下吧!

    • 结束语
      ======
      对于自己来说, 本文就相当于做笔记. 需要注意的是, uglifyjs只能压缩js文件(且只支持ECMAScript 5: ES5).
      行文匆匆, 文中要是有什么不正确的地方, 欢迎指正!

    相关文章

      网友评论

          本文标题:使用uglifyjs压缩JS

          本文链接:https://www.haomeiwen.com/subject/jxkunxtx.html