cutepack

a simple compression and package module

npm install cutepack
4 downloads in the last week
16 downloads in the last month

cutepack

功能简单的JS打包工具

  • 简介

    把多个JS文件,压缩并依次打包进一个JS文件,压缩采用uglify-js引擎,多个模块文件打包到一个文件里,减少http请求消耗 :)

  • 安装

    npm install cutepack -g
    (需要node0.8版本)
    老版本cutepack@0.0.1,与最新版本配置差异较大

  • 使用

    方法一:配置好默认命名的cp-config.js文件,命令行运行 cutepack
    方法二:新建自定义命名的文件xxx,命令行运行 cutepack xxx

cp-config.js示例:

exports.config = [
    {
        paths:{
            src:[
                './test1.js-n', // -n参数,表示 此文件不压缩
                './test.js'    
            ],
            tar: '../tar.js'  //输出的目标文件
        }
    },
    {
        paths:{
            src:[
                './test1.js-n', 
                './test.js'    
            ],
            tar: '../tar.js' 
        },
        options:{
            strict_semicolons: false, //设为true时,代码需要写严格的分号
            mangle_options: {
                //defines: { DEBUG: ['onename', 'false'], VERSION: ['string', '1.0'] },
                except:['onename']  // 保留指定的变量名,函数名..不被修改
            },
            squeeze_options:{},
            gen_options: {
                ascii_only: false,  // pass true if you want to encode non-ASCII characters as \uXXXX.
                inline_script: false // – pass true to escape occurrences of </script> in strings
            }
        }
    }    
]

说明:
paths数组 -- 为需要压缩打包的文件路径列表和目标文件路径。路径相对于cp-config.js所在的目录
options -- 为压缩参数配置,例如保留关键字,转换中文等。没特殊要求,options可以不写

  • 局限性

    1、只支持同一磁盘文件,相对路径形式,非http等线上文件。

    2、不支持css文件压缩打包,不支持整个目录打包输出。

    3、仅支持压缩打包多个指定的JS文件到一个文件中,满足最简单实用的需求。

    4、默认处理的文件并非特大文件,不会造成读写大文件导致内存溢出。

    5、没有处理常见的模块依赖。

change log

  • v0.1.1

    支持多文件打包压缩到不同的目标文件,并兼容前一版本配置参数。2013/6/25 15:34:38

  • v0.1.0

配置文件名由原来的build.js改为cp-config.js,以便与其他文件做明显区分。2013/6/6 13:43:06

修改配置文件中paths字段设置。2013/6/6 13:43:06

修复压缩引擎默认去掉文件前后分号,可能引起的“undefined is not a function”错误。2013/6/14 17:57:48

  • v0.0.1

build.js中增加options配置项,可指定压缩时不改变某些关键词,转义非ASCII字符为\uXXXX字符形式。 2012-10-29

可配置参数-n,不压缩某文件(例如已经压缩过的文件,不需要重复压缩) 2012-10-26

最初功能实现 2012-10-22

npm loves you