私有配置 && 公共配置
cabinconfig.js
cabinconfig.js 是在项目级别上控制 cabinx-cli 编译行为的配置文件,也就是说,不同项目,通过修改这个文件,可以实现不同编译行为。
但是一些配置是个性化的,并非所有人一样,比如 dev-server 的启动端口等,如果一个团队大家不一致,很容易产生 git 冲突,所以,在 0.7.0 添加了这类问的解决方案
cabinconfig.private.js
在项目根目录下添加这个文件,该文件的运行结果将覆盖 cabinconfig.js 的运行结果,也就是具有最高优先级。
开发者添加该文件的同时,还要在.gitignore文件里添加该文件,但需要注意,一定是个性化的配置,才可以放在该目录下。
DevServer
devServer 配置,描述路 cabinx-cli 自带的开发服务器的基本配置
devServer.port
http端口,默认为40103。
export default {
devServer: {
port: 40103
}
}
定义 dev-server 的 http 启动端口,可选值有 80
,3000
,40100
,40101
,40102
,40103
,40104
,40105
devServer.httpsPort
https端口,默认为40101。
export default {
devServer: {
httpsPort: 40101
}
}
定义dev-server的https启动端口,可选值有 443
,40100
,40101
,40102
,40103
,40104
,40105
。更多关于 https 的信息
devServer.autoRefresh
export default {
devServer: {
autoRefresh: true
}
}
定义文件修改后,是否自动刷新页面,可选值有 true
, false
devServer.indexPage
export default {
devServer: {
indexPage: "https://cabinx.dmall.com"
}
}
定义 dev-server 启动后,默认打开的页面,建议将其配置在 cabinconfig.private.js 中
buildConfig
buildConfig配置,描述了编译流程的基本配置
target
module.exports = {
buildConfig: {
target: ['cabinx'],
...
},
};
用于指定代码编译方式,可选值有:
- cabinx
最新版本默认为'cabinx',即跨端。支持最新框架提供的功能,编译后的代码支持在pc和移动端执行。
- pc
编译的代码仅支持pc端运行,使用历史pc的组件库,目前已不再更新,新项目均推荐使用cabinx。更多关于pc的文档可以查看cabinxpc。
<=V0.8.3的cabinx-cli默认target为pc,之后版本都默认为cabinx。注意升级脚手架时检查target配置。
- cabinxmobile
编译代码仅支持移动端运行,目前已经弃用,不再维护。
请检查cabinconfig.js是否配置target,没有请填写配置。
由于<=V0.8.3的脚手架版本默认target为pc,部门历史生成项目cabinconfig.js中未配置target,当脚手架升级版本大于V0.8.3后会使用跨端编译,此时对默认是pc的项目有影响。
entryHtml
定义了开发管理页,默认入口地址的配置
export default {
buildConfig:{
entryHtml: "http://www.baidu.com"
}
}
bizDomain
定义了输出代码与域名相关的部分
export default {
bizDomain: "dmall",// "dmall-os"|"rta"|"dmall"|guoquan
buildConfig:{
...
}
}
目前覆盖了:
- HN输出的Html页面 与static.dmall.com的部分和.dmall.com的部分
可选项以及替换数据:
- dmall -> dmall.com
- dmall-os -> dmall-os.cn
- rta -> rtasia.com
- guoquan -> guoquan.com
skeletonLang
定义骨架屏生成期间,CabinX.getLocale方法,使用哪种语言。
export default {
buildConfig:{
skeletonLang:'en_US' // en_US | km_KH | zh_CN | zh_HN
}
}
mobileAppSkeletonIgnore
是否忽略骨架屏的生成。
export default {
buildConfig:{
mobileAppSkeletonIgnore: true
}
}
mobileAppDest
export default {
buildConfig:{
mobileAppDest: 'mobileapp',
}
}
HN 离线包生成的位置,相对项目的根目录。如果设置为 null
,则不会生成 HN 的 zip
默认值 'mobileapp'