JS文件的压缩混淆

项目需要对单个JS文件进行混淆压缩,开始时候使用的在线工具进行混淆的,但是总是有错误,所以开始计划自己本地来做这个事。

找了很多资料之后决定使用uglifyjs ,原因开源、稳定、使用简单,但是实际使用时遇到了问题,它明确说明--uglify-js 仅支持JavaScript(ECMAScript 5),这就造成想要使用uglifyjs必须将文件中的所有用到新语法的地方进行转换,所以首先先用babel转化。

步骤:

  • 1 初始化npm
npm init -y

*2 安装babel

$ npm install --save-dev @babel/core @babel/cli @babel/preset-env
$ npm install --save @babel/polyfill
  • 3 在根目录下配置babel.config.js
const presets = [
    [
        "@babel/env",
        {
            targets: {
                edge: "17",
                firefox: "60",
                chrome: "67",
                safari: "11.1",
            },
            useBuiltIns: "usage",
        },
    ],
];

module.exports = { presets };
  • 4 进行转换
npx babel  xxx  --out-dir xxx  --presets=@babel/env
  • 4 使用uglifyjs进行压缩混淆
npm install uglify-js -g
  • 5 压缩混淆
uglifyjs aaa.js -m -o bbb.js
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容