安云网 - AnYun.ORG | 专注于网络信息收集、网络数据分享、网络安全研究、网络各种猎奇八卦。
当前位置: 安云网 > 技术关注 > 系统文档 > Linux环境下UglifyJS安装

Linux环境下UglifyJS安装

时间:2014-06-24来源: 作者:点击:
Linux环境下UglifyJS安装 1.1.   安装 Node.js [[email protected] src]# wget http://nodejs.org/dist/v0.6.3/node-v0.6.3.tar.gz [[email protected] src]# tar -zxvf node-v0.6.3.tar.gz [[email protected] src]# cd node-v0.6.3 [[email protected] node-v0.6.3]# ./configure

Linux环境下UglifyJS安装

1.1.  安装 Node.js

[[email protected] src]# wget http://nodejs.org/dist/v0.6.3/node-v0.6.3.tar.gz //copyright AnYun.ORG

[[email protected] src]# tar -zxvf node-v0.6.3.tar.gz

//安云网,anyun.org

[[email protected] src]# cd node-v0.6.3 //内容来自安云网

[[email protected] node-v0.6.3]# ./configure //ANYUN.ORG

[[email protected] node-v0.6.3]# make //安云网咨询系统

[[email protected] node-v0.6.3]# make install //copyright AnYun.ORG

[[email protected] node-v0.6.3]# ln -fs /usr/local/bin/node /sbin/node #让所有用户都可用node

//本文来自安云网

[[email protected] node-v0.6.3]# node -v #测试node是否安装成功

 

//安云网咨询系统

添加Node的环境变量

//安云网咨询系统

  //安云网,anyun.org

[[email protected] node-v0.6.3]# vi /etc/profile

//ANYUN.ORG

在最后加上如下一行代码: //ANYUN.ORG

将其打开把

//内容来自安云网

export PATH=$PATH:/usr/local/bin/ //安云网咨询系统

这句放在“export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC”的上一行 //内容来自安云网

立即生效环境配置,不需要重启,用下命令:

//本文来自安云网

[[email protected] node-v0.6.3]# . /etc/profile

//本文来自安云网

//本文来自安云网

[[email protected] node-v0.6.3]#source /etc/profile //本文来自安云网

  //内容来自安云网

1.2.  安装 NPM

[[email protected] src]# curl http://npmjs.org/install.sh | sh

//安云网咨询系统

[[email protected] src]# wget http://npmjs.org/install.sh

//安云网,anyun.org

[[email protected] src]# sh install.sh

 

//内容来自安云网

1.3.  安装UglifyJS

 

//安云网,anyun.org

[[email protected] src]# wget https://nodeload.github.com/mishoo/UglifyJS/tarball/master –no-check-certificate[[email protected] src]# tar -zxvf mishoo-UglifyJS-v1.1.1-6-g662e846.tar.gz //本文来自安云网

[[email protected] src]# mv ./mishoo-UglifyJS-* /usr/local/UglifyJS //安云网咨询系统

[[email protected] src]# cd  /usr/local/UglifyJS/ //安云网咨询系统

[[email protected] UglifyJS]# cp -a package.json uglify-js.js lib/ /usr/local/lib/node/

//ANYUN.ORG

[[email protected] UglifyJS]# cp bin/uglifyjs /usr/local/bin/uglifyjs

 

//内容来自安云网

 

//本文来自安云网

压缩测试:

//内容来自AnYun.ORG

cd 命令到 UglifyJS/bin/ 目录。执行 ./uglifyjs  xx.js  如果安装成功会把你的压缩代码直接显示在命令行。

//copyright AnYun.ORG

你可以通过如下命令形式  ./uglifyjs 1.js 2.js 把 1.js 压缩后的代码保存到 2.js //ANYUN.ORG

你可以通过如下命令形式  ./uglifyjs –overwrite 1.js把 1.js 压缩后的代码保存到 原文件中,即覆写1.js //内容来自AnYun.ORG

 

//ANYUN.ORG

使用:

//安云网,anyun.org

这是一个脚本助手(工具)-bin/uglifyjs-使用这个库可以用来把一个脚本压缩到最小。简介: //安云网咨询系统

uglifyjs [ 选项... ] [ 文件 ]

//内容来自安云网

文件参数应该放在选项后面,uglifyjs 会读取文件中的javascript代码进行处理。

//本文来自安云网

如果你不指定输出的文件名,那么他会把处理后的内容输出到命令行中。 //ANYUN.ORG

:  uglifyjs 1.js 2.js   会创建一个 2.js 文件把 1.js处理完毕的内容输入到这里

//本文来自安云网

例: uglifyjs 1.js        会读取1.js内容,并把结果输出到命令行中。

//ANYUN.ORG

支持的选项:

//安云网咨询系统

-b or –beautify — 参数 -b 或者 –beautify 用于美化(格式化)代码。美化之前会压缩代码(未验证。) //本文来自安云网

-i N or –indent N — 缩进级别空格数 //内容来自安云网

例:uglifyjs -b 1.js 2.js  会把1.js的内容格式后输出到2.js

//ANYUN.ORG

-q or –quote-keys — quote keys in literal objects (by default, only keys that cannot be identifier names will be quotes).

//ANYUN.ORG

-nm or –no-mangle — 变量名不缩短,意味着不会把代码的变量名缩短为 abcdefg

//ANYUN.ORG

-ns or –no-squeeze — 不使用ast_squeeze()(可以使各种优化之后的代码更小,更具有可读性。)

//安云网,anyun.org

-mt or –mangle-toplevel — mangle names in the toplevel scope too (by default we don’t do this).

//本文来自安云网

–no-seqs — 当ast_squeeze()被调用的时候(除非你添加了–no-squeeze 参数才不会被调用)它将减少在一个代码块中重复声明的行。例如:“a = 10; b = 20; foo();”将被重写为“a=10,b=20,foo();”。在各种场合,这将允许我们丢弃代码块中的括号(在一些语句块变成一个独立的声明行之后)。这是默认的,因为经我们测试,它似乎更安全并且能节省几百bytes,但加上–no-seqs 后将被禁止。 //内容来自安云网

–no-dead-code — 默认情况下,UglifyJS将会删除代码中明显无法访问的语句(如 return , throw , break 或者continue语句 ,以及一些不是函数/变量的的声明)。通过这个选项可以禁用掉这个优化功能。

//内容来自安云网

-nc or –no-copyright — 默认情况下,uglifyjs将在生成的代码中保留初始的一些标记(假设版权信息等)。如果你设置这个参数将被禁止。

//ANYUN.ORG

-o filename or –output filename — 将结果输出到一个指定文件名的文件中。如果没有这个参数,结果将会被输出到命令行

//本文来自安云网

- //本文来自安云网

-overwrite — 如果代码是从一个文件中读取的(不是直接标准输入的)并且使用了–overwrite参数,那么结果也将会被写进相同的文件中去。 //ANYUN.ORG

–ast — pass this if you want to get the Abstract Syntax Tree instead of JavaScript as output. Useful for debugging or learning more about the internals.

//内容来自安云网

–ast — pass 如果你要获取一个用来取代javascript输出的抽象语法树,这些参数会在你进行调试或学习内部组件时很有用。

//内容来自AnYun.ORG

              //内容来自AnYun.ORG

-v or –verbose — output some notes on STDERR (for now just how long each operation takes). //本文来自安云网

-v or –verbose — output 一些标准错误提示(显示每一次花费多久) //内容来自安云网

  //本文来自安云网

  //安云网咨询系统

–extra — enable additional optimizations that have not yet been extensively tested. These might, or might not, break your code. If you find a bug using this option, please report a test case.

//安云网,anyun.org

当你发现BUG时你可以增加一个中断点用来对还没有彻底的测试的代码进行优化,你可以使用这个选项来生成一个测试用例。

//安云网咨询系统

 –extra — enable

//安云网咨询系统

  //安云网咨询系统

–unsafe — enable other additional optimizations that are known to be unsafe in some contrived situations, but could still be generally useful. For now only this: //copyright AnYun.ORG

foo.toString() ==> foo+””

//安云网咨询系统

  //内容来自AnYun.ORG

 

//内容来自安云网

想foo.toString() 这种用法 也是可行的,但是存在一些人為的不安全的情况,这事也需要添加一些优化比如:  foo+””

//安云网,anyun.org

  //安云网咨询系统

–max-line-len (default 32K characters) — add a newline after around 32K characters. I’ve seen both FF and Chrome croak when all the code was on a single line of around 670K. Pass –max-line-len 0 to disable this safety feature.

//copyright AnYun.ORG

在超过大概32K字节的时候你要增加一行,我有发现过在火狐和chorme下档代码一行超过670K的时候它会发出报警声。通过–max-line-len 0 去静止这个安全属性

//copyright AnYun.ORG

–reserved-names — some libraries rely on certain names to be used, as pointed out in issue #92 and #81, so this option allow you to exclude such names from the mangler. For example, to keep names require and $super intact you’d specify –reserved-names “require,$super”. //ANYUN.ORG

 

//安云网,anyun.org

 

//copyright AnYun.ORG

–reserved-names — 些类库会依赖于特定的名称去使用,比如:#92 和#81 所以这个选项允许你去排除一些关键字。 //ANYUN.ORG

  //安云网咨询系统

1.4.  UglifyJS使用shell脚本范例

对当前目录/public下的所有JS文件进行压缩: //copyright AnYun.ORG

 orgpath=$PWD showUsage(){        echo “Usage: packingdir [destdir]“        exit 0} //本文来自安云网

  //内容来自AnYun.ORG

dir=”$orgpath”/public/

//本文来自安云网

if [ $# -gt 1 ] //内容来自安云网

        then //ANYUN.ORG

        showUsage

//安云网,anyun.org

fi

//内容来自AnYun.ORG

  //copyright AnYun.ORG

if [ $# -gt 0 ] //copyright AnYun.ORG

        then //copyright AnYun.ORG

        dir=$1

//本文来自安云网

fi //本文来自安云网

  //安云网咨询系统

for i in `find $dir -name ‘*.js’`

//安云网,anyun.org

do

//ANYUN.ORG

        if [ ! -d $i ]

//copyright AnYun.ORG

                then

//安云网咨询系统

                echo “processing file…” $i //copyright AnYun.ORG

                /usr/local/UglifyJS/bin/uglifyjs –overwrite $i

//内容来自AnYun.ORG

        fi

//ANYUN.ORG

done

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
验证码: 点击我更换图片
相关内容
推荐内容
  • The Debian Administrator’s Handbook,

    The Debian Administrator’s Handbook, 这本书是debian的两个开发者写出...

  • 微信4.0发布,加入朋友圈功能

    今天传说中的微信4.0版本终于发布并且推送了更新,一进入是新...

  • vijos中c的注意事项

    昨天没事发现了一个叫vijos的类似judgeonline的网站,也许是我火星...

  • falcon编译出错问题

    ...

  • 教你破解xp系统administrator权限

    作者:Awolf 首发:AwolfS Security Blog 一.事情起因 那天满头大汗的...

  • Linux环境下UglifyJS安装

    Linux环境下UglifyJS安装 1.1.   安装 Node.js [[email protected] src]# wget http...