自制js编译压缩小工具

自制js编译压缩小工具

点点

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


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

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
我们经常会想要删除很久之前微信中的聊天图片和视频,也有很多是没有被我们清除的,但是很多小伙伴们都想要知道微信怎么清理图片和视频,想要彻底删除一些好友之间的聊天照片和视频,那么下面就让点点给小伙伴们介绍一下最新的方法。
腾讯微信的拍一拍具有非常好玩的功能,可以双击对方的头像,显示出非常可爱的拍一拍后缀,所以很多小伙伴们想要知道微信拍拍功能怎么给自己加文字,这样就会显示出好玩的后缀文字,下面就让小编给小伙伴们介绍一下微信拍拍功能给自己加文字教程。
在日常生活中,每个人都有自己的风格,例如电脑微信图标,很多小伙伴们喜欢把任务栏的图标隐藏起来,变得更加简约。一定会有多数小伙伴还不知道如何去隐藏微信图标吧,和如何修改微信电脑版的标签与权限呢?
在生活中,小伙伴们有没有遇到过,用微信付款,离开后发现付错款啦?自己的东西放在商家那里忘记拿了?其实,微信有一个非常贴心的功能,是可以联系到商家的,怎么联系哪?跟着点点来看看吧!
青少年玩游戏的很多,但大部分都是用家长的手机,玩游戏哪就免不了会充个会员啊!买个装备之类,这就需要钱了,微信的钱就会不知不觉的少掉,家长该怎么处理那?目前青少年模式需要更新微信ios最新版本7.0.17以上的版本才可以使用。
客户会发送一些信息到邮箱中,但是还需要这些信息录入到另外的一个管理系统中,由于每天都有邮件,所以想把邮件的内容提取到然后推送到管理系统中。
现在编辑文件的有很多软件,常用的就是word文档啦!我们在使用电脑的Word编辑文件时,有时候会需要在文件中添加页眉页脚等,那当我们不需要或者添加错误时,该怎么删除掉页眉页脚呢?怎么全部删除?跟着小编来看一下吧!
日常生活中,我们经常用到微信,微信是我们常用的一款社交软件,给我们的生活带来了极大的便利和乐趣,深受小伙伴们欢迎,有的小伙伴想知道怎么开通手机版微信的电子社保卡?