maty(options)
主调用方法,用于创建app实例对象。
使用方式:
options参数的可用配置项及作用如下:
baseDir [:String]
项目根目录,默认从启动目录获取,baseDir决定了路由、拦截器、视图模板、文件上传目录的默认值。
同时又可以单独设置routers、interceptors、views、uploads的所在目录,单独设置时忽略baseDir的作用。
viewExclude [:String]
maty支持无匹配路由配置的情况下,自动获取和请求路径相同的视图模板文件来渲染,而viewExclude用于设置排除规则(具体规则参见glob文档),符合规则的模板文件不会被自动渲染,用于保护一些模块文件或私有文件等
apiDataCache [:Object]
设置后端api返回的数据缓存对象,采用 lru-cache 的实现规范。比如需要使用Redit等自行管理缓存的,可以自定义该对象。
apiDataCache至少有get, set两个方法:
apiDataName(apiUrl) [:Function]
获取api返回数据的名称,例如一个路由配置如下:
'/user/info', '/user/comments'两个接口返回的数据会被合并到handle方法第一个参数的data对象中,那么apiDataName就是用于设置data对象的key。默认为使用api地址最后一个/后面的单词名。
该配置项作为规律性的自动化获取data key的手段,用于提高效率。但api地址提供方未必按默认的规律行事,或者多个api地址的最后一个单词名经常性冲突, 此时可以按实际api地址的规律来自定义一个apiDataName(apiUrl){} 方法。api地址作为参数传入该方法。
同时若偶尔有data key名冲突,还可以在router配置apiItem.name来手动定义。
handleAPI(apiUrl) [:Function]
针对每一个api地址的处理方法,默认返回apiUlr本身。该配置同样用于提高规律性的api地址配置效率。例如上面那个路由配置了两个api地址:
它们的规律是拥有相同的域名,那么可以简化配置为:
然后设置handleAPI方法为:
ajaxCache [:Boolean]
众所周知,ajax请求可能被浏览器缓存,大部分是在请求地址上加一个随机数用来消除缓存,其实服务器响应头也可以控制缓存,而ajaxCache就是用来控制对于ajax的响应是否缓存的。默认true允许缓存,设置false可禁止缓存。
Last updated
Was this helpful?