elicc-build
v1.1.2
Published
用来自动化编译js的nodejs工具.
Downloads
3
Readme
自动化编译工具使用说明
工具说明
工具名称为elicc-build
,用于自动化编译js
、css
、styl
、tpl
文件,进行代码格式化、编译、压缩与合并
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
查看当前编译环境,编译环境分两种dev
与production
,前者为开发环境,文件编译直接存放到目录,不进行压缩处理;后者为生产环境,对编译后的文件后进行压缩合并处理,可直接用于生产环境。
-f
文件编译会自动根据最后一次编译时间与源文件是否有变动,来判断是否需要重新编译,使用-f
命令会强制重新生成新文件,刷新缓存。当使用build
命令时,可指定此参数,强制编译生成新文件。
-s
添加新的依赖包时,用于保存依赖项到package.json
配置文件
命令说明
config
配置系统参数,可配置的参数有:
- env : 编译环境,有
dev
与production
两种(默认为dev,不压缩代码) - path: 编译目标项目路径(默认为命令行当前指向路径:
.
)
init
配置初始化,用于检测项目中所有依赖包是否安装,若未安装,自动下载并安装包。
build
- 1、编译项目文件,对
js
文件添加require("id", ["dependencies"], function(){ ... });
。 - 2、对
styl
文件使用stylus
编译成css
文件。 - 3、
tpl
文件直接输出,使用时通过artTemplate
进行加载与编译,渲染成html。 - 4、
css
文件直接输出,使用时通过seajs
进行加载。 - 5、其他文件默认直接输出。
- 编译时,读取配置中的编译环境,采用开发环境不压缩,生产环境压缩的方式。
- 编译时,可传递参数
build dev
或build production
来指定以哪种方式进行编译,这种显示指定编译环境时,会强制生成所有新文件。 - 当采用默认编译环境进行编译项目时,也可通过参数
-f
来显示指定是否强制生成新文件,命令为build -f
- 编译之后的文件,在请求时会自动进行请求合并,一个文件需要依赖的其他文件(包括js、css)会自动合并为一个请求链接,要求服务端的支持。其采用的是
seajs-combo
的请求合并功能。