自制js编译压缩小工具

自制js编译压缩小工具

点点

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


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

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
在很久之前,微信为所有用户带来了年账单功能,小伙伴们可以随时通过年账单统计看到自己在指定的年份、月份看到消费账单支出,以及对应的支付分类,现在稍微有点改动,不过影响不大,那具体怎么看微信年账单统计呢,下面就和涂涂一起来看看吧!
在最近很多小伙伴都在找微信头像卫星红旗设置教程,就是将渐变的五星红旗添加到你的微信头像上,那怎么设置国旗渐变头像呢?下面就和点点一起来看看吧!让小伙伴的头像每天换一个,每天都不待重样的。
智能手机发展到现在,给我们带来了很多的便利,家里的老人小孩外出不放心,想随时知道TA的位置;或对情侣外出的位置有怀疑?现在小编就教小伙伴们如何在通过手机实时知道对方的位置。原理就是在对方手机装一个app,然后通过手机定位平台实现手机定位!
前段时间弄了下微信的dat图片的解码,有同学问数据库的解码怎么弄.. 发现微信数据库的数据格式是真的麻烦...
如果在没有wifi的情况下,我们接收qq信息就要流量。尤其是图片,QQ里加入的群很多,接收图片就很费流量。在这样的情况下我们可以设置屏蔽群图片,手机qq怎么设置屏蔽群图片呢?下面为小伙伴们介绍。
在21世纪,网络已经是生活中必不可少的部分,许许多多的小伙伴们逐步踏入互联网行业,因而也催生了许多职业,比如说网页编辑与制作,网络客服,短视频编辑及制作等等。
当我们在使用电脑微信的时候,一般发送视频都会受限,只能发送25m一下的视频,如果想要发送超过25m的视频的话,应如何设置呢?接下来就由点点来告诉小伙伴们。
智能化的时代,聊天工具是不可缺的,QQ是80后一代的青春回忆,不知道还有没有小伙伴们在用,最近一直在研究这个青春,嘿嘿,方法来了,跟小编来看一下吧。