自制js编译压缩小工具

自制js编译压缩小工具

点点

2021-03-25 09:13 阅读 429 喜欢 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


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

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
智能手机是我们生活中的标配,有很多的手机功能不太好用,该如何处理哪?例如智能手机红米手机也是搭载了最新的miui13系统,所以也是具备miui13系统中的最新的纯净模式的,所以很多用户在打开之后就会造成无法下载第三方软件,很多小伙伴们觉得不太好用,所以很多小伙伴们想要知道红米手机纯净模式怎么关闭?
日常生活中很多的小伙伴们可能会有的烦恼,咱们习惯了win7中的照片查看器,当咱们的电脑升级到win10之后,还想用win7的照片查看器该如何调出使用呢?
在微信读书中,小伙伴们可以通过个人主页看到好友正在阅读的书、书架等等,有很多小伙伴不想让其他用户看到自己的阅读书架,该怎么将书架的书全部隐藏呢,下面就和点点一起来看看吧!
我们很多小伙伴们经常使用的手机微信,对手机微信里面的内容和功能了解的都是非常到位的。比如我们想要在手机里查看微信里面的聊天记录,分分钟就可以将其翻出来,但是电脑版微信的操作步骤和手机微信就不相同了,如果我们想在电脑微信上查看聊天记录应该怎么操作呢?
微信键盘是微信预计推出的功能,主旨是为了保护用户的隐私安全,不过目前微信键盘还未正式上线,正在内测中,那我们怎么获得微信键盘内测资格呢,下面就和点点一起来看看吧!
我们现在经常会使用微信传输文档,那么有时候我们需要将其在电脑中存储起来,今天小编跟小伙伴们分享的是如何将电脑端微信中的文档批量下载下来。
无线网,现在人们使用的越来越多了。很多小伙伴用的苹果设备,苹果设备间的操作是比较方便的,而且iPhone还可以给ipad共享wifi密码的哦,iphone怎么共享wifi给ipad呢?
相信很多小伙伴都经历过,下班到家才想起来忘记打卡!为了避免这种尴尬的事情发生,小编给小伙伴们带来了打卡定位神器——钉钉虚拟定位打卡!