使用node的插件UglifyJs来合并和压缩文件

code:

 1 var fs = require(‘fs‘);
 2 var jsp = require("./UglifyJS-master/uglify-js").parser;
 3 var pro = require("./UglifyJS-master/uglify-js").uglify;
 4 var finalCode=‘‘;
 5 function jsMinifier(flieIn) {
 6     var flieIn=Array.isArray(flieIn)? flieIn : [flieIn];
 7     var origCode,ast;
 8
 9     var getAllFiles = function (dir) {
10         var filesArr = fs.readdirSync(dir);
11         for(var j = 0; j < filesArr.length; j++) {
12             var isDir = fs.lstatSync(dir+‘/‘+filesArr[j]);
13             if(isDir.isDirectory()){
14                 getAllFiles(dir+‘/‘+filesArr[j]);
15             }else {
16                 readFile(dir+‘/‘+filesArr[j]);
17             }
18         }
19     }
20      function readFile(filename){
21         origCode = fs.readFileSync(filename, ‘utf8‘);
22         ast = jsp.parse(origCode);
23         ast = pro.ast_mangle(ast);
24         ast= pro.ast_squeeze(ast);
25         finalCode +=‘;‘+ pro.gen_code(ast);
26      }
27      for(var i=0; i<flieIn.length; i++) {
28         var isDir = fs.lstatSync(flieIn[i]);
29         if(isDir.isDirectory()) {
30             //为目录,获取目录下所有的文件。
31             getAllFiles(flieIn[i]);
32         }else {
33             readFile(flieIn[i]);
34         }
35     }
36 }
37 jsMinifier(process.argv[2]);
38 fs.writeFileSync(process.argv[3], finalCode, ‘utf8‘);

运行:

node jsMinifier /data/samba/iyy_dev/index/assets/models/wirelesswebim need.js

时间: 2024-11-05 12:16:05

使用node的插件UglifyJs来合并和压缩文件的相关文章

优化 RequireJS 项目(合并与压缩) 【已翻译100%】

英文原文:Optimize (Concatenate and Minify) RequireJS Projects 标签: RequireJS Node.js 参与翻译 (1人) : 裴宝亮 本文将演示如何合并与压缩一个基于RequireJS的项目.本文中将用到苦干个工具,这其中就包括Node.js. 因此,如果你手头上还没有Node.js可以点击此处下载一个. 动机 关于RequireJS已经有很多文章介绍过了.这个工具可以将你的JavaScript代码轻易的分割成苦干个模块(module)并

用Sublime Text 3的HTML-CSS-JS Prettify(需安装node.js)插件格式化代码

用Sublime Text 3的HTML-CSS-JS Prettify(需安装node.js)插件格式化代码 用 Sublime Text 格式化代码(安装 HTML-CSS-JS Prettify 插件)时,格式化时却会提示(默认路径未找到Node.js) 下载安装到Node.js 官网下载 32位版本(据说win x64版有问题)安装. 确认Node.js安装路径鼠标右键HTML/CSS/JS Prettify > Set Plugin Options保证插件路径与Node.js安装路径一

Node.js 插件安装及常用插件

Node.js插件安装 Node.js常用插件 >> TypeScript 本博客为 TypeScript 而创造,不能少了 TypeScript. http://www.typescriptlang.org/ 国内有个翻译网站 https://www.tslang.cn/ 老实说,TypeScript 原来主要瞄准服务端NodeJS编程. 从官网可见,若 TypeScript 用于客户端编程,都是和流行的Angular,React,Vue之类的加上适合的打包工具Webpack, Gulp之类

192.gulp-concat插件合并多个文件

因为在网页的开发中,为了加快网页渲染的速度,如果我们的js文件比较多的话,就可以使用gulp-concat插件,将多个js文件合并成一个文件,该插件的安装同样是在终端窗口执行命令:npm install gulp-concat --save-dev. 示例代码如下(1): var gulp = require('gulp'); var concat = require('concat'); var uglify = require('uglify'); gulp.task('js', funct

RequireJS对文件合并与压缩实现方法

RequireJS 是一个JavaScript模块加载器.它非常适合在浏览器中使用, 它非常适合在浏览器中使用,但它也可以用在其他脚本环境, 就像 Rhino and Node. 使用RequireJS加载模块化脚本将提高代码的加载速度和质量. 本文为大家讲解的是requireJS对文件合并与压缩的实现方法,感兴趣的同学参考下. RequireJS提供了一个打包与压缩工具r.js,r.js的压缩工具使用UglifyJS进行压缩的或Closure Compiler.r.js下载 requireJS

requireJS对文件合并与压缩(二)

requireJS对文件合并与压缩 RequireJS提供了一个打包与压缩工具r.js,r.js的压缩工具使用UglifyJS进行压缩的或Closure Compiler.r.js下载 requireJS对互相依赖模块进行合并与压缩,可以对JS,CSS压缩,甚至可以对整个项目进行打包.r.js是基于nodeJS的,所以本机电脑上需要有node环境. 下面还是来看看我整个项目结构吧,如下: 现在是这样的,app/a.js,app/b.js,app/c.js,app/d.js,有依赖关系,分别是a依

配置grunt进行css、js的检查、合并和压缩

现在会进行代码的合并和压缩已成为前端人员的必备知识,那么现在来介绍一个grunt的工具.grunt是个风靡世界的工具,它的首页是  http://www.gruntjs.net 这是个中文网站,有文档可以参考.但是只看文档是不是觉得很蛋疼呢?一个字:看不太懂啊! 好了,废话不多说,直接发安装步骤和注意事项,都是心酸研究出来的啊... 这里介绍mac的安装方法.windows方法相类似,等我稍微研究一下后再发上来 首先,要安装nodejs,grunt是依赖node滴.上 www.nodejs.or

grunt配置太复杂?使用Qbuild进行文件合并、压缩、格式化等处理

上次简单介绍了下Qbuild的特点和配置,其实实现一个自动化工具并不复杂,往简单里说,无非就是筛选文件和处理文件.但Qbuild的源码也并不少,还是做了不少工作的. 1. 引入了插件机制.在Qbuild中称作模块,分为任务处理模块(如合并.压缩等处理)和文本处理模块(如内容添加和替换等处理),一个任务处理模块可以有多个文本处理模块.任务和文本处理模块均可以按指定的顺序执行,可以指定要执行的模块.每个任务的配置可以继承或覆盖全局配置,既保证了简洁,也保证了灵活. 2. 文件筛选支持通配符(*和**

gulp完成javascript压缩合并,css压缩

最近需要对项目进行优化,主要是对js的压缩合并和css文件的压缩,查找相关资料之后发现gulp可以实现相关的功能,特此分享一下使用心得. 1.安装gulp gulp是基于Node.js的前端构建工具.所以首先需要安装nodejs,安装nodejs. 完成nodejs安装之后,需要使用npm安装gulp. 先安装全局gulp npm install -g gulp 然后在项目根目录下安装本地gulp. 此时项目根目录下会多出下面这个文件夹 node_modules 好的,现在gulp已经安装完成了