自制js编译压缩小工具

自制js编译压缩小工具

点点

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


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

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
手机版微信软件被很多小伙伴使用,用来聊天,逛朋友圈等,有的小伙伴为了增加好友,因此想要打开向我推荐通讯录好友功能,但是却不知道如何打开,那么小编就来为小伙伴们介绍一下吧。
日常生活工作中,会用到Word 文件转换成 PDF 文件的事情,下边就跟小编来看一下吧!
微信中打开Word、Excel等文档,会保存在一个目录下。但是,微信把这个目录隐藏很深,路径不易记住,所以,我把这个路径记下来。 在安卓系统中可以安装ES文件浏览器来获得。如果找不到这个路径,或者显示为空,也可以转发到另一台安卓机上的微信号,在那台打开后再保存下来。
微信公众号文章里的视频怎么下载?。看还是有很多人推荐啥工具啊,当然主题也是通过程序来获取内容。
我们很多小伙伴们经常使用的手机微信,对手机微信里面的内容和功能了解的都是非常到位的。比如我们想要在手机里查看微信里面的聊天记录,分分钟就可以将其翻出来,但是电脑版微信的操作步骤和手机微信就不相同了,如果我们想在电脑微信上查看聊天记录应该怎么操作呢?
现在有很多企业都在使用钉钉办公,有些小伙伴们不知道电脑钉钉怎么设置OA审批人员,接下来小编就给小伙伴们介绍一下具体的操作步骤。
系统有好多个,这里说一下miui吧,miui说了很多小伙伴们看不懂,通俗来说就是小米,这样一说小伙伴们就知道啦!miui是一款好用的Android深度定制ROM,在系统中有很多人性化的服务,但是在使用过程中难免会出现一些不好清理的文件,比如说其他文件,这里为各位小伙伴们带来有关的删除方法。下面来跟点点一起看一下吧!
智能化的时代,聊天工具是不可缺的,QQ是80后一代的青春回忆,不知道还有没有小伙伴们在用,最近一直在研究这个青春,嘿嘿,方法来了,跟小编来看一下吧。