用户配置(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 |