如果你是全局安装的,可以直接在需要混淆文件的目录下,
按住shift键右击鼠标选择在此处打开命令窗口如图
2.打开窗口后直接在窗口执行
uglifyjs main.js demo.js -o foo.min.js --source-map foo.min.js.map --source-map-root http://onbook.me -p 5 -c -m --wrap --export-all混淆文件main.js和demo.js生成foo.min.js和foo.min.js.map并指定map的来源网站
3.另一种使用方式是,把UglifyJS2包放到程序中,通过API对JS文件或JS代码进行压缩。首先,新建一个NPM项目文件package.json,然后在是下载UglifyJS2依赖包。
新建文件package.json{
"name": "nodejs-uglifyjs2",
"version": "0.0.1",
"description": "uglifyjs2",
"author": "Conan Zhang ",
"dependencies": {
}
}
4.执行npm install uglify-js --save下载UglifyJS2依赖包
5.安装完成后
新建test.js开始测试var UglifyJS = require('uglify-js')
//代码压缩
var result = UglifyJS.minify("var b = function () {}", {fromString: true})
console.log("\n===========================")
console.log(result)
//文件压缩
result = UglifyJS.minify(["demo.js"])
console.log("\n===========================")
console.log(result.code)
//多文件压缩,指定source map和网站来源
result = UglifyJS.minify(["main.js","demo.js"],{
outSourceMap: "out.js.map",
sourceRoot: "http://onbook.me",
mangle:true
})
console.log("\n===========================")
console.log(result.code)
console.log(result.map)
http://blog.fens.me/nodejs-uglifyjs2-js/
JS源代码混淆包括:1.变量名的替换为随机字符串
2.函数名的替换为随机字符串
3.代码压缩,移除空格,换行等无用字符
4.添加垃圾代码,使反编译更难
5.代码加密,使代码更难读懂
注意:这些方法都可以使代码更难被别人破解,但并不能完全防止代码被破解。
1、下载 yuicompressor 包下载 yuicompressor-2.4.2.zip 资源包,解压后 yuicompressor-2.4.2.jar 在 yuicompressor-2.4.2/build 目录下。
2、创建build-yui.xml 文件
然后创建ant 运行的文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project name="MyTask" basedir="." default="compress-css">
<property name="src.dir" value="./src"/>
<target name="compress-js">
<apply executable="java" parallel="false" failonerror="true"
dest="${src.dir}/dest"
append="false" force="true">
<fileset
dir="${src.dir}"
includes="js/**.js" />
<arg line="-jar" />
<arg path="yuicompressor-2.4.2.jar" />
<arg line="--charset utf-8" />
<srcfile />
<arg line="-o" />
<mapper type="glob" from="*.js" to="*.js" />
<targetfile />
<arg line="--nomunge" /><!--只压缩去掉空格,不混淆-->
</apply>
</target>
<target name="compress-css">
<apply executable="java" parallel="false" failonerror="true"
dest="${src.dir}/dest"
append="false" force="true">
<fileset
dir="${src.dir}"
includes="css/**.css" />
<arg line="-jar" />
<arg path="yuicompressor-2.4.2.jar" />
<arg line="--charset utf-8" />
<srcfile />
<arg line="-o" />
<mapper type="glob" from="*.css" to="*.css" />
<targetfile />
</apply>
</target>
</project>
3、运行ant
在dos下运行命令:ant -buildfile build-yui.xml 命令。
注:目标目录必须存在,否则会报错。