自制js编译压缩小工具

自制js编译压缩小工具

点点

2021-03-25 09:13 阅读 492 喜欢 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是80后一代的青春回忆,不知道还有没有小伙伴们在用,最近一直在研究这个青春,嘿嘿,方法来了,跟小编来看一下吧。
腾讯公司的QQ软件是小伙伴们最喜爱的通讯软件之一,可是有些小伙伴还不太熟悉它的一些设置,比如,很多小伙伴们不清楚怎么恢复已删除的QQ好友和QQ群,小编今天给小伙伴们分享解决这个问题的方法。
智能的东西现在越来越多了,很多软件都是分电脑版与手机版,电脑上安装微信怎样群发语音这个问题,第一因为电脑/网页版没有群发功能的,只能通过转发来实现。语音消息不支持转发,不管是手机上还是电脑上都不支持,但语音转换成文字后就可以转发了。
日常生活中,微信已经成为小伙伴们广泛使用的通讯软件,那么微信中的聊天记录,图片,视频,音频,文档等都成为重要的法律证据,该如何保存?微信 for Windows聊天记录备份与恢复功能可以将手机微信上的聊天记录备份到电脑。也可将已经备份到电脑上的聊天记录恢复到手机中。
系统有好多个,这里说一下miui吧,miui说了很多小伙伴们看不懂,通俗来说就是小米,这样一说小伙伴们就知道啦!miui是一款好用的Android深度定制ROM,在系统中有很多人性化的服务,但是在使用过程中难免会出现一些不好清理的文件,比如说其他文件,这里为各位小伙伴们带来有关的删除方法。下面来跟点点一起看一下吧!
小伙伴们都说微信所占用的内存很多,其实微信本身并不会占用很多内存,占内存的其实是微信里面的文件,包括图片、视频、语音、聊天记录等。当我们不小心操作失误或卸载了微信时,微信里面的数据也会随之消失,如果要避免这种情况的话,建议小伙伴们还是将微信上的内容备份一下比较好。 微信聊天记录如何备份,教你一个方法特别简单又实用,跟小编来看看吧!
由很多软件安装时是有操作系统位数限制的,64位的程序在32位的操作系统将不能安装成功,而64位的系统是可以安装32位应用程序的。
现在电脑与手机普及的当下,还有很多的小伙伴不会查看自己电脑的位数,今天就为小伙伴们介绍了什么是32位与64位操作系统以及32位与64位系统的区别,这里忽然想到了一个问题,就是怎么看电脑是多少位系统呢?