用户配置(Configuring Fekit)
fekit.config样板
{
"compiler" : false|modular|component,
"name" : "hello1",
"version" : "0.0.1",
"author" : "rinh",
"email" : "rinh@abc.com",
"description" : "",
"main" : "home",
"dependencies" : {
"dialog" : "1.2.*"
},
"alias" : {
"core" : "./src/core"
},
"export" : [
"./scripts/page-a.js",
{
"path" : "./scripts/page-b.js",
"parents" : [ "./scripts/page-a.js" ]
},
{
"path" : "./scripts/page-c.js" ,
"no_version" : true
}
],
"scripts" : {
"premin" : "./build/premin.js",
"postmin" : "./build/premin.js",
"prepack" : "./build/premin.js",
"postpack" : "./build/premin.js",
"prepublish" : "./build/prepublish.js"
}
}
fekit.config详解
| 配置项 | 值 | 说明 |
|---|---|---|
| 编译方案配置项 | ||
| compiler | false|"modular"|"component" |
配置项含义:
compiler,编译方案 取值: false: 使用普通模式编译。会将 import 和 require 引用的文件 inline 进文件中; "modular": 使用模块化模式编译。会将 import 和 require 以标准AMD方案的变化(Asynchronous Module Definition)进行处理, 模块内的内容将以exports或return对外提供接口; "component“: 使用组件模式编译。 默认值: false |
| 组件编译方式配置项 | ||
| name | 如:"hello1" | 组件名称标识符,string类型 |
| version | 如:"0.0.1" | 组件版本号,string类型,遵循semver |
| author | 如:"rinh" | 组件作者名,string类型 |
| 如:"rinh@abc.com" | 组件作者邮箱,string类型 | |
| description | 如:"" | 组件描述,string类型 |
| main | 如:"home" | 指定某个文件作为包入口, 该路径以src目录为根。默认使用src/index |
| 依赖组件配置项 | ||
| dependencies | 如:{ "dialog" : "1.2.*" } | 依赖的组件 |
| 别名配置项 | ||
| alias | 如:{ "core" : "./src/core" } | 配置项含义:
别名的配置, 该库作为编译时 @import url 和 require 使用 取值: 路径相对于当前fekit.config文件 |
| 文件导出配置项 | ||
| export | 如:"./scripts/page-a.js" | 配置项含义:
将要导出至 prd 和 dev 目录的文件列表。其中所有路径, 均相对于 src 目录
取值: 第一种配置方式, 直接写出要导出的文件相对路径 |
如:
{
"path" : "./scripts/page-b.js" ,
"parents" : [ "./scripts/page-a.js" ]
}
|
配置项含义:
将要导出至 prd 和 dev 目录的文件列表。其中所有路径, 均相对于 src 目录
取值: 第二种配置方式, 当要导出的文件, 在实际使用时有上级依赖, 则可以将上级依赖的文件加入 parents节点 |
|
如:
{
"path" : "./scripts/page-c.js" ,
"no_version" : true
}
|
配置项含义:
将要导出至 prd 和 dev 目录的文件列表。其中所有路径, 均相对于 src 目录
取值: 允许某个文件不含版本号信息 |
|
如:
{
"path" : "./scripts/page-a.css" ,
"domain_mapping" :
"domain.com => img1.domain.com
img2.domain.com
img3.domain.com
img4.domain.com"
}
|
配置项含义:
将要导出至 prd 和 dev 目录的文件列表。其中所有路径, 均相对于 src 目录
取值: 允许 css 使用 domain_mapping 功能 |
|
| 自动化hook脚本配置项 | ||
| scripts | 如:
{
"premin" : "./build/premin.js" ,
"postmin" : "./build/premin.js" ,
"prepack" : "./build/premin.js" ,
"postpack" : "./build/premin.js" ,
"prepublish" : "./build/prepublish.js"
}
| 配置项含义: 自动化hook脚本。 取值: 每一项均为 hook , 在 min 开始或结束后 与 pack 开始时或结束后会调用执行 指定位置的任意javascript文件。你可以使用全局变量 EXPORT_LIST,其结构为:
[
{
url : '源文件文件的物理路径' ,
path : '源文件相对于根目录的路径' ,
ver : '编译后的version版本号' ,
minpath : '编译后的相对于根目录的路径, 包含版本号'
}
ver与minpath只在postmin时才会有。
|
| 自定义编译参数配置项 | ||
| min | 如:
{
"config" : {
"uglifycss" : {},
"uglifyjs" : {
"ast_mangle" : {},
"ast_squeeze" : {},
"gen_code" : {}
}
}
}
| 配置项含义: 自定义编译参数 取值: "uglifycss" : 参见:https://github.com/fmarcia/UglifyCSS "uglifyjs" : 参见:https://github.com/mishoo/UglifyJS |
| 发布其它文件配置项 | ||
| refs | 如:
{
"cp" : [ "ver" ],
"sh" : "./auto.js"
}
| 配置项含义: 发布其它文件 取值: "cp" : copy 命令 , 将 ver 目录复制到 refs 中 "sh" : 自定义脚本, 当前目录为项目目录, 可以制定任意内容,全局对象可以使用path, file, cwd, refs_path |