server
2017-11-29 16:16:49 1 举报
server
作者其他创作
大纲/内容
否
compileNtime大于tplMtime
bindDefault调用栈
是
即存在于_cacheArr中
设置data为req.__get
est.renderFile
指定方法是函数
文件存在
获取.est文件中暴露的方法并将data挂载到this指针上调用,得到之前compile方法生成的渲染函数html内容
有传入callBack
host中包含端口号
evt方法
结束
listenOver(1)
校验请求路径
状态码为404的返回信息
设置proxyHeaders的Content-Length
将模板加入缓存序列_cacheArr中,将内容给到callBack
根据tplPath和md5算法生成.est文件名compiledFile
挂载全局对象
将method设置为GET
复制http request头部信息到proxyHeaders
bridgeMuch方法:
开始
请求为post类型
bindDefault
this.req.dataSource=php
host.split(':')host为第一项port为第二项
将data按照uri传递参数规范加入到remoteUri中
根据hostSource匹配hosts中的对应后台服务器域名得到host
listenOn
defaultControl.js(位于项目中)
备注1
备注2
添加默认参数到data中
整体
watchTpl方法
controller.js
evtHandle.js
获得文件内容加入请求体中
将host设置为默认config.api.host填写错误日志
状态码为500的返回信息
bridgeMuch调用栈(未标明文件位置的方法均在controller.js中):
根据文件类型改写请求类型头,到相对应的本地路径下获取文件信息
remoteApi.js
该.est文件已经存在于缓存中
根据文件路径的一级路径找到对应项目中的controller文件,根据文件路径的二级目录确定运行文件中的哪个方法,三级目录(如果有)为传入方法的参数
设置状态码404请求体为错误信息
根据http request设置代理头部信息proxyHeaders
解析出错原因,打印进日志
bridge
这里如果想深入了解,请参考remoteApi.js文件以及listenOn方法
将默认回调设置为callBack
php对象
php对象未迭代完
controller文件存在
遗憾的是这里虽然设置了host的容错机制,然而默认host获取的依赖文件api.json中并没有host字段,我认为这是个失误
有文件类型后缀
调用compile方法解析html文件生成渲染函数
listenOver调用栈:
包含文件内容信息的response
关于listenOn和listenStack请参见上文
_clearCache方法
判断http请求类型
compiledFile对应文件存在
render方法
设置状态码500请求体为错误信息
渲染过程未报错
host存在
是否监听.est文件内容变化
设置data为req.__post
create
bridgeMuch
listenOver(2)
启动集群,运行router.js
如:http://wtxm.fedev.lehe.com/script-ss/glk/page/glk.js
是入参:remoteUri(也就是php中的单个链接字符串)
remoteApi.jscreate方法
路径合法
将evt方法加入listenOn中调用保存到listenStack中,为后续业务代码中调用listenOver方法做准备
getApi
运行exeAppScript执行controller方法
fillTpl
getErrorDetail,dataErrLog方法
请求为get类型
解析路径获得请求对应的本地文件路径以及文件名
0 条评论
下一页