自制js编译压缩小工具

自制js编译压缩小工具

点点

2021-03-25 09:13 阅读 552 喜欢 0

关于js的编译和压缩,之前做过一个小工具了,主要就是自己项目成员大都没有这部分的技能,导致发布的时候总需要去编译压缩下.. 最终做了个命令行小工具.. 问题不在这里,前一阵子做压缩的时候发现压缩后竟然是undefined.最终才发现是es6的语法问题。

bug : 通过uglify-js 压缩js文件后文件内容为undefined

在对某个项目内的js文件做压缩的时候,发现了这个问题。结果发现是uglify-js不支持es6的语法和api。

最终只能通过babel来进行编译。

解决: compress 命令行工具

对之前封装的命令行工具compressj2 做了改版。

核心代码

let babel = require('@babel/core'); let baseCode = let {a} = {a :'name'}; babel.transform(baseCode, { presets: [ ['@babel/preset-env', { "useBuiltIns": "entry", "modules": false, "corejs": 2, // 新版本的@babel/polyfill包含了core-js@2和core-js@3版本,所以需要声明版本,否则webpack运行时会报warning,此处暂时使用core-js@2版本(末尾会附上@core-js@3怎么用) }] ] }, function(erra, result) { if (erra) { console.log('>>:' + filePath); console.log(erra); } else { console.log(result.code); } }); babel的版本是7以上,与之前的老版本会有差异。这个一定要注意。

关于babel的使用,参考https://segmentfault.com/a/1190000019718925

命令行的使用

安装

npm install compressjs2 -g

使用

compress //压缩当前目录下所有js并替换 compress -d /home/js //压缩目标目录下js并替换 compress -d /home/js -o /home/build //压缩目标目录下js并输出到/home/build目录下 compress -c //美化压缩后的js文件 compress -l //递归循环调用所有目录,否则只有当前级别

注意

//本工具中对js的编译的以上代码,很多api并没有增加,主要是对语法进行编译。 对babel的使用很粗浅,不过目前可以满足现有的环境要求。 以后项目再发布做编译压缩的时候.. 只需要一个简单的命令compress 就OK啦。

转载请注明出处: http://sdxlp.cn/article/压缩.html


如果对你有用的话,请赏给作者一个馒头吧 ...或帮点下页面底部的广告,感谢!!

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
现在QQ作为国内最常使用的即时通讯软件之一,QQ仍然还是很多小伙伴们日常交友聊天和游戏打怪的必用软件。但如果是在电脑上使用QQ接收文件,又有多少小伙伴们知道,这些接收的QQ文件在电脑哪个文件夹中呢?接下来就让点点,给小伙伴们讲解一下QQ文件保存在电脑的哪里,以及该怎么进行缓存清理吧。
我们在使用微信聊天时免不了要发送图片,微信图片,删除后简单操作教你怎么找回它! 微信图片经常过期,或者被自己删除,但是又很重要,不得不给找回来,没有关系,我们可以试试下面的恢复方法,一定很有用!
当我们换了新电脑后,怎样可以把微信的聊天记录迁到新电脑上哪?伙伴来这里我教你,简单实用。
选择对于大部分抖音玩家来说,圈粉是一件非常令人头疼的事情。很多人说,新号越来越难做,增长也越来越困难了。那么我们要如何去圈粉呢?在操作的时候有需要注意一些什么呢?
腾讯公司的微信、QQ都是现在十分常用的社交软件,很多的功能,都是可以相互使用的,可以在工作与生活中,增加很多的便利,有些新用户不知道如何将手机微信表情包发送到QQ.
我对canvas中rotate其实是一脸蒙逼的... 虽然之前有做过图片旋转,但那是在他人的基础上直接修改的,至于为啥会这样..讲真,还真没注意过,但是今天又需要用到这块了,实在搞不定了,找了各种资料,终于明白了.. 坐标系的问题。
小伙伴们在玩华为手机过程中,手机拍照、截图、聊天等都会产生数据文件占用手机内存,当手机空间不足时就会影响小伙伴们的使用体验,那怎么清理华为手机内存空间呢?
智能手机有很多的牌子,今天给小伙伴们介绍一下华为手机中的云照片怎么删除的具体操作步骤。