node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

elicc-build

自动化编译工具使用说明

工具说明

工具名称为elicc-build,用于自动化编译jscssstyltpl文件,进行代码格式化、编译、压缩与合并

Usage: elicc-build [options] [command]

Commands:

config <key> [value]  保存依赖项
init                  编译器初始化中,请稍候...
build [env]           编译项目,参数[evn]指定编译环境:dev或production,根据环境判断是

否压缩文件

Options:

-h, --help          output usage information
-V, --version       output the version number
-v, --version       查看版本
-s, --save [value]  保存依赖项
-p, --path          查看项目编译目录
-e, --environment   查看当前编译环境:
                     dev - 开发环境,不压缩
                     production - 生产环境,压缩
-f, --force         用于编译时,强制重新生成所有文件

参数说明

-p

查看当前要编译的文件路径,默认编译命令行当前所显示的目录,目录下必须存在module.json配置文件, 此文件分两种,项目组配置和项目模块配置,各属性如下:

  • 组配置文件
{
  // 配置文件类型(组为group、模块为module) 
  "type": "group",   
  // 配置名称(组名或模块名) 
  "name": "lib",                    
  // 组编译后保存文件的路径(可为相对路径,相对与组来说的;也可为绝对路径,不要使用当前目录,会覆盖掉项目文件) 
  "build-path": "../lib-build"      
}
  • 模块配置文件
{
   //配置文件类型(组为group、模块为module) 
  "type": "module",
  // 配置名称(组名或模块名) 
  "name": "seajs",
  //模块所属组 
  "group": "lib",
  //模块编译后包含文件,后缀包含 n 则不进行编译处理(不添加头与尾),保留原文件 
  //也可采用shell的正则表示(glob): 
  // 1、* 匹配零个或多个任意字; 
  // 2、[abc]匹配任何一个列在方括号中的字符; 
  // 3、? 只匹配一个任意字符; 
  // 4、**匹配多级目录,会所有子目录 
  // 5、**/** 或留空将匹配所有文件 
  "include": [
    "sea.njs",
    "sea-debug.njs",
  ],
  //要排除的文件,匹配规则与包含文件一致 
  "exclude": []
}

-e

查看当前编译环境,编译环境分两种devproduction,前者为开发环境,文件编译直接存放到目录,不进行压缩处理;后者为生产环境,对编译后的文件后进行压缩合并处理,可直接用于生产环境。

-f

文件编译会自动根据最后一次编译时间与源文件是否有变动,来判断是否需要重新编译,使用-f命令会强制重新生成新文件,刷新缓存。当使用build命令时,可指定此参数,强制编译生成新文件。

-s

添加新的依赖包时,用于保存依赖项到package.json配置文件

命令说明

config

配置系统参数,可配置的参数有:

  • env : 编译环境,有devproduction两种(默认为dev,不压缩代码)
  • path: 编译目标项目路径(默认为命令行当前指向路径:.

init

配置初始化,用于检测项目中所有依赖包是否安装,若未安装,自动下载并安装包。

build

  • 1、编译项目文件,对js文件添加require("id", ["dependencies"], function(){ ... });
  • 2、对styl文件使用stylus编译成css文件。
  • 3、tpl文件直接输出,使用时通过artTemplate进行加载与编译,渲染成html。
  • 4、css文件直接输出,使用时通过seajs进行加载。
  • 5、其他文件默认直接输出。
  • 编译时,读取配置中的编译环境,采用开发环境不压缩,生产环境压缩的方式。
  • 编译时,可传递参数build devbuild production来指定以哪种方式进行编译,这种显示指定编译环境时,会强制生成所有新文件。
  • 当采用默认编译环境进行编译项目时,也可通过参数-f来显示指定是否强制生成新文件,命令为build -f
  • 编译之后的文件,在请求时会自动进行请求合并,一个文件需要依赖的其他文件(包括js、css)会自动合并为一个请求链接,要求服务端的支持。其采用的是seajs-combo的请求合并功能。