-
Notifications
You must be signed in to change notification settings - Fork 0
1.配置参数说明
gzxishan edited this page May 18, 2020
·
1 revision
xsloader(config);
{
baseUrl:"",
urlArgs:{},
autoUrlArgs:false,
jsExts:[".js", ".js+",".es6", ".jsx", ".vue",".*",".htmv_vue"],
autoExt:true,//是否使用自动后缀,需要后台配合,且必须含有路径分隔符/;若为true、则发送的后缀为.*
autoExtSuffix:".*",
paths:{},
depsPaths:{},
deps:{},
modulePrefix:{},
defineFunction:{},
defaultVersion:{},
waitSeconds:10,
properties:{
name1:anyType,
name2:{
subName1:anyType
},
name3:"123",
name4:"name${name3}-${name2.subName1}",
name5:function(){}
},
plugins:{
loading:{//顶部加载进度条
enable: true,//在xsloader的script标签上增加disabled-loading属性可以高优先级地设置enable为false
color: '#2196f3',
bgColor:'rgba(0,0,0,0.1)',
errColor: '#f5222d',
duration: 0.2,
height: 1,
delay: 500,
},
css:{
inverse:true,//是否逆向添加css:不同模块间添加style的顺序是与依赖顺序相反的,如A(内部加载A.css)依赖B(内部加载B.css),则在head中A.css在B.css的后面
},
image:{
timeout:10000,//超时时间,毫秒
},
xsmsg:{
timeout:30000,//全局默认连接超时时间,毫秒
sleep:500,//连接检测的休眠时间,毫秒
},
ifmsg:{
connTimeout: 30000, //连接超时时间,毫秒
sleepTimeout: 20, //连接检测的休眠时间,毫秒
}
},
props:{//加载器使用的配置
addVersion:true,//加载模块时、是否添加xsloader版本。
innerDepType:"auto",//添加require("...")或require.get("...")的依赖,取值范围auto、disable、require、require.get
}
}
【String】基础参考路径,默认为当前页所在目录。
- ./ 表示当前目录;
- ../ 表示上一级目录;
- xx/ 表示相对于baseUrl;
- //xxx、/xxx、https://xxx、http://xxx 等 表示绝对地址 ;
【对象】用于替换模块url(或urlArgs中)的前缀,其中prefix不能以"."、"/"开头。
{
"prefix1":{
replace:"替换的内容"
},
"prefix2":{
replace:"替换的内容"
}
}
例如:
{
"lib/":{
replace:"/cdn/lib/"
},
"lib2/":{
replace:"/cdn2/lib/"
}
}
所有的"lib/"前缀会替换成"/cdn/lib/","lib2/"前缀会替换成"/cdn2/lib/"。
【对象】
{
"key":value,
"key2":value2
}
- key以"."开头,表示相对于xsloader地址的模块;
- key为绝对地址;
- key为相对于baseUrl的地址(不以"."开头的相对地址);
- key为含有modulePrefix前缀的地址;
- key为模块名;
- key以"*["开头,表示指定前缀的地址,支持相对地址("."开头相对于xsloader地址,其他相对于baseUrl);(支持modulePrefix前缀替换)
- key以"*]"开头,表示指定后缀的地址;
- key为"*"时,表示对所有模块,但优先级最低,其他模块的重名地址参数会覆盖*的;
- value为字符串;
- value为函数function(moduleNameOrUrl),函数this为当前配置对象,返回值为字符串;
【boolean】默认为false,优先于urlArgs。自动添加当前时间_t=currentTimeMillis到url上。
【String/String[]】用于指定模块的路径(以".js"为后缀),不能使用插件,当为数组时、会按照顺序加载、直到有一个成功。
【String/String[]】用于指定模块的路径(以".js"为后缀),不能使用插件,当为数组时、会按照顺序加载、直到有一个成功。可以为其中的模块配置依赖。
【对象】用于配置依赖。
{
"key":value,
"key2":value2
}
- key为"*"表示对depsPaths(以及加载服务的主文件)中的所有模块加上此依赖;
- key的格式为"path_or_module1::path_or_module2::path_or_module3..."表示为指定的模块或路径js添加依赖;
- value为字符串,添加一个依赖;
- value为数组,添加多个依赖(会作为内嵌依赖,第一参数可为boolean值、表示orderDep,默认false;内部又支持嵌套的内嵌依赖、orderDep默认为true);
【对象】模块定义回调函数,moduleName可能是js绝对路径(没有定义模块名的)。
{
"moduleName":function(originCallback,originThis,originArgs)
{
return originCallback.apply(originThis, originArgs);
}
}
【对象】默认包名。
{
'group:project':'versionName'
}
【number】require等待时间,单位秒,默认10。
【对象】用于配变量,所有的字符串都可以使用变量。
{
name1:anyType,
name2:{
subName1:anyType
},
name3:"123",
name4:"name${name3}-${name2.subName1}",
name5:function(){//注意:this为当前的properties
}
}
- 属性值是function的,会执行(this为当前的properties)得到结果;且函数会在属性引用前处理;
- 通过${properName}引用字符串属性;
- 通过$[properName]引用属性(对应的属性值可以是任何类型,除了undefined与function);
- key中也支持属性引用(除了properties);
【对象】用于设置require时顶部加载进度条,只对第一个require有效,以下值为默认值。
loading:{//顶部加载进度条
enable: true,
color: '#2196f3',
bgColor:'rgba(0,0,0,0.1)',
errColor: '#f5222d',
duration: 0.2,
height: 1,
delay: 500
}
- color:进度条颜色。
- bgColor:背景颜色。
- errColor:require失败的颜色。
- duration:过渡动画时间,单位秒。
- height:进度条高度。
- delay:延迟显示进度条的时间,单位毫秒;若在此时间内已经加载成功、则不会显示。
全局异常回调。
xsloader.onError=function(code,errinfo){
console.error(code);
console.error(errinfo);
};