zoukankan      html  css  js  c++  java
  • 利用node压缩、合并js,css,图片

    1.安装nodejs

    http://nodejs.org/

    2.安装各自的node package

    js我用的是UglifyJS github地址:https://github.com/mishoo/UglifyJS

    css我用的是clean-css github地址:https://github.com/GoalSmashers/clean-css

    图片用的是node-smushit    github地址:https://github.com/colorhook/node-smushit

    3.编写代码

    //js
    var fs = require('fs');
    var jsp = require("uglify-js").parser;
    var pro = require("uglify-js").uglify; 
    
    function jsMinifier(flieIn, fileOut) {
         var flieIn=Array.isArray(flieIn)? flieIn : [flieIn];
         var origCode,ast,finalCode='';
         for(var i=0; i<flieIn.length; i++) {
            origCode = fs.readFileSync(flieIn[i], 'utf8');
            ast = jsp.parse(origCode);
            ast = pro.ast_mangle(ast);
            ast= pro.ast_squeeze(ast); 
            finalCode +=';'+ pro.gen_code(ast);
         }
        fs.writeFileSync(fileOut, finalCode, 'utf8');
    }
    
    //jsMinifier('./file-src/test2.js', './file-smin/test-min.js');  //单个文件压缩
    jsMinifier(['./file-src/test.js','./file-src/test2.js'], './file-smin/test-min.js'); //合并压缩
    
    
    //css
    var cleanCSS = require('clean-css');
    
    function cssMinifier(flieIn, fileOut) {
         var flieIn=Array.isArray(flieIn)? flieIn : [flieIn];
         var origCode,finalCode='';
         for(var i=0; i<flieIn.length; i++) {
            origCode = fs.readFileSync(flieIn[i], 'utf8');
            finalCode += cleanCSS.process(origCode); 
         }
        fs.writeFileSync(fileOut, finalCode, 'utf8');
    }
     
    //cssMinifier('./file-src/indexw_20120913.css', './file-smin/index.css');  //单个文件压缩
    cssMinifier(['./file-src/index_20120913.css','./file-src/indexw_20120913.css'], './file-smin/index.css');
    
    //图片
    var imgMinifier = require('node-smushit');
    //imgMinifier.smushit('./file-src/images', {recursive: true}); //递归
    imgMinifier.smushit('./file-src/images');

     4、编译

  • 相关阅读:
    重载
    两数之和
    求二叉树层序遍历
    最小的K的个数
    二分查找
    实现二叉树先序,中序,后序
    判断 链表中是否有环
    设计LRU缓存结构
    排序
    反转链条
  • 原文地址:https://www.cnblogs.com/zhuzf/p/2707332.html
Copyright © 2011-2022 走看看