uglifyjs2压缩混淆js文件

uglifyjs可以用来压缩混淆js文件,发布release版本应用利器。在StackOverflow浏览了一下,相比Google Closure和YUI compressor,uglifyjs被推荐的更多一点,YUI已经不再更新且部分作者也加入uglifyjs开发了。

1. 安装

安装可以通过npm安装。

下载node.js安装文件:http://nodejs.org/download/

npm包含在node.js中。

安装uglifyjs:

sudo npm install [email protected]2 -g

@2的作用是指定下载uglify-js 2.x的版本,@1为下载1.x的版本(github README上说1.x已经不再开发新功能只fix)

2. 用法

uglifyjs input1.js [input2.js ...] [options]

可以用uglifyjs --help查看用法,常用选项:

  -o, --output                  Output file (default STDOUT).
  -b, --beautify                Beautify output/specify output options.
                                                                        [string]
  -m, --mangle                  Mangle names/pass mangler options.      [string]
  -r, --reserved                Reserved names to exclude from mangling.
  -c, --compress                Enable compressor/pass compressor options. Pass
                                options like -c
                                hoist_vars=false,if_return=false. Use -c with
                                no argument to use the default compression
                                options.                                [string]

-c压缩,-m混淆命名,-b格式化输出js文件(否则为只有一行),-o目标输出文件。

--wrap和--export-all选项也很有用,不过多个文件有先后执行调用顺序时可能会有问题。

例如,压缩一个文件:

uglifyjs main.js -o publish/main.js -c -m -b

压缩多个文件(支持文件夹通配符):

uglifyjs src/* main.js -o publish/min.js -c -m -b

实际发布中写个脚本自动处理压缩混淆会方便很多。

时间: 2024-08-27 02:09:54

uglifyjs2压缩混淆js文件的相关文章

[转载]用UglifyJS2合并压缩混淆JS代码——javascript系列

从零开始nodejs系列文章,将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发.Nodejs框架是基于V8的引擎,是目前速度最快的Javascript引擎.chrome浏览器就基于V8,同时打开20-30个网页都很流畅.Nodejs标准的web开发框架Express,可以帮助我们迅速建立web站点,比起PHP的开发效率更高,而且学习曲线更低.非常适合小型网站,个性化网站,我们自己的Geek网站!! 关于作者 张丹(Conan), 程序员Java,R,PHP,Java

使用jsCompress压缩混淆js代码的一些常见的问题和技巧

不同的团队使用的js混淆器或压缩工具不一样,jsCompress是一款绿色的免费的js压缩工具,时代定制的UI团队推荐大家使用,不仅性能优越,而且操作非常人性化. 使用jsCompress.exe时,但是若你的js代码结构有问题,或者js行数太多,一般超过500行,  就有可能会出现无法压缩的故障,或者Js压缩后无法使用. 通常是因为全局变量的问题导致的,全局变量在压缩混淆时丢失,函数内部变量被缩写,导致无法处理.解决方法:将你的Js代码分块压缩,每块尽量少些行数,在压缩后,将代码合并到一个tx

使用grunt完成requirejs的合并压缩和js文件的版本控制

最近有一个项目使用了 requirejs 来解决前端的模块化,但是随着页面和模块的越来越多,我发现我快要hold不住这些可爱的js文件了,具体表现在每个页面都要设置一堆 requirejs 的配置( baseUrl , paths 之类的). 不知谁说过,一些事重复做了三次,就该考虑一下自动化了,于是我小心翼翼的掏出了我的 grunt . 我们得使用 grunt-contrib-requirejs 这个插件来实现如上所说的自动化功能,这个就是根据 r.js 封装的 grunt 插件. 安装 gr

NodeJs 实时压缩 项目js文件

+ 1. 下载nodejs : "http://nodejs.org/". + 2. 以administrator权限打开cmd.+ 3. cmd路径定位到要压缩的目录: "cd  /d  [PATH]"+ 4. 安装依赖模块. 运行命令: "npm install".+ 5. 安装Gulp工具,运行命令: "npm install gulp -g".+ 6.开启实时监控js变化的进程,运行命令: "gulp&quo

对前端web js,css文件进行压缩混淆

下载 yuicompressor jar包到本地路径 写一个批处理脚本compressJs.bat,将要压缩的js文件放在批处理文件的同一路径,yuicompressor.jar也放在同一路径 运行批处理文件,在该路径下会生成一个min文件夹,里面的*.min.jar就是压缩混淆后的js文件 css文件同上操作 一下是批处理脚本的内容: echo off set PathName=%cd%set minPath=%PathName%\min if exist "%minPath%" (

【JS代码压缩】使用YUI Compressor对js文件进行压缩处理

概述 在使用html5开发Hybird APP的时候,可能会引入大量的js包,另外对于一些核心的js文件,进行一些特殊的处理, 如压缩和加密就显得很重要了,YUI Compressor就是这样一个用于压缩js.css的工具(捂脸:其实我用它对代码进行 了压缩作为混淆处理的一种手段了),是采用Java开发的,因此运行的时候需要首先安装Java环境,安装完之后,运 行和配置都是比较简单的. 安装及使用 使用YUI Compressor之前必须先配置java环境,如何配置此处不说了. YUI Comp

gulp插件实现压缩一个文件夹下不同目录下的js文件(支持es6)

gulp-uglify:压缩js大小,只支持es5 安装: cnpm: cnpm i gulp-uglify -D yarn: yarn add gulp-uglify -D 使用: 代码实现1:压缩js文件夹下的index.js文件输出到dist文件夹下面(注意要压缩的js文件中此处只能使用es5) 1 var gulp = require('gulp'); 2 var uglify = require('gulp-uglify'); 3 4 gulp.task("uglify",f

requirejs 多页面,多入口js文件打包总结

需要明确以下几点: 1.本地前端调试代码肯定是调用原始的路径以及代码,但是线上运行的肯定是通过打包后的另一个路径,这儿就是生成的dist文件夹了. 2.requirejs的引入,线上跟线下的路径怎么控制?我们是这样控制的,代码如下: <script src="${resource}/js/base/require.js" data-main="${resource}/js/accountMain"></script> 这个${resource

第十一节:Bundles压缩合并js和css及原理分析

一. 简介 1.背景:浏览器默认一次性请求的网络数是有上限的,如果你得js和css文件太多,就会导致浏览器需要多次加载,影响页面的加载速度, MVC中提供Bundles的方式压缩合并js和css,是MVC中特有的一种优化方式. (当然现在前端也有很多基于node的工作流插件,可以合并压缩混淆js或css) 2. 原理(了解即可):核心方法ApplyTransforms,通过StreamReader不断一次一次进行读取 参考文档:https://docs.microsoft.com/en-us/a