不安装node、npm,直接使用uglify批量压缩js文件
2014-05-20 12:54
627 查看
1、从node官网下载binary文件 http://nodejs.org/download/
2、再从uglify在git的主页下载zip压缩包 https://github.com/mishoo/UglifyJS
如下图:
3、从解压出的文件中拿出uglify-js.js和lib目录
4、再创建一个js文件,在里面使用uglify
代码如下:
修改第四行调用scanDir方法中的路径参数为要压缩的目标路径即可
5、用node运行这个js文件,就能把指定目录下的全部js压缩了。
(注意:因为代码中是压缩结果直接覆盖原文件了,所以压缩前最好把整个目录复制一份出来压缩。)
2、再从uglify在git的主页下载zip压缩包 https://github.com/mishoo/UglifyJS
如下图:
3、从解压出的文件中拿出uglify-js.js和lib目录
4、再创建一个js文件,在里面使用uglify
代码如下:
修改第四行调用scanDir方法中的路径参数为要压缩的目标路径即可
var fs = require("fs"); var parser = require("./uglify-js").parser; var uglify = require("./uglify-js").uglify; scanDir("./js"); function scanDir(rootPath) { //读取目录 fs.readdir(rootPath, function(dirErr, files){ if( !dirErr ){ files.forEach(function(fileName){ //当前文件路径 var tmpPath = rootPath + "/" + fileName; //获取文件状态 fs.stat(tmpPath, function(statErr, stat){ if( statErr ){ console.log("stat error:" + statErr); } //是个目录 else if( stat.isDirectory() ){ scanDir(tmpPath); } else { //是js文件 if(fileName.match(/([\.]+).js$/i)){ compressFile(tmpPath); } } }); }); } else console.log("dir error"); }) } function compressFile(path){ buildOne(path,path); } function buildOne(flieIn, fileOut) { var origCode = fs.readFileSync(flieIn, 'utf8'); var ast = parser.parse(origCode); ast = uglify.ast_mangle(ast); ast = uglify.ast_squeeze(ast); var finalCode = uglify.gen_code(ast); console.log("compressed:" + fileOut); fs.writeFileSync(fileOut, finalCode, 'utf8'); }
5、用node运行这个js文件,就能把指定目录下的全部js压缩了。
(注意:因为代码中是压缩结果直接覆盖原文件了,所以压缩前最好把整个目录复制一份出来压缩。)
相关文章推荐
- 如何在NTLM的代理的后面,使用npm安装node.js的扩展
- 配置移动前端开发调试环境(nodejs+npm+weiner的安装和配置使用)
- ubuntu下nvm,node以及npm的安装与使用
- 无需安装 vsftpd , 直接使用 FTP 来管理 docker 容器中的文件
- 解决安装好node但可能不能使用的问题——用npm检查不显示node的问题
- ubuntu下nvm,node以及npm的安装与使用
- ubuntu下nvm,node以及npm的安装与使用
- node 通过指令创建一个package.json文件及npm安装package.json
- node 通过指令创建一个package.json文件及npm安装package.json
- nodejs+express工程 在npm install之后或使用npm install bootstrap命令安装bootstrap之后
- node.js使用npm 安装插件时提示install Error: ENOENT报错的解决方法
- win7下安装node.js,包括npm 之后将coffeescript格式文件编译成js文件
- 无需转化直接使用ESD映像文件安装系统简明教程
- node 通过指令创建一个package.json文件及npm安装package.json
- [eclipse使用]采用直接copy plugins和features文件夹到eclipse目录方式安装pdt文件失败的问题
- node 通过指令创建一个package.json文件及npm安装package.json
- 无需转化直接使用ESD映像文件安装系统简明教程
- 关于npm在安装node.js后无法使用的情况
- 【NodeJS】nvm、npm、node安装、使用、淘宝源设置等资料
- npm init node 通过指令创建一个package.json文件及npm安装package.json