分布式调度框架。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1 lines
588 KiB

{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["+","/","200px;","510570367",":","add","airflow","azkaban","balanc","bashoperator、dummyoperator、mysqloperator、hiveoperator、emailoperator、httpoperator、sqloper","big","celeri","cpu","dag监控界面","dask","data","db","develop","easi","easyschedul","easyscheduler上的用户可以通过租户和hadoop用户实现多对一或一对一的映射关系,这对大数据作业的调度是非常重要的。","easyscheduler简介","executor水平扩展","fastest","ha额外要求","issues,","load","load,memory,cpu在线查看","meso","mr、spark、sql(mysql、postgresql、hive、sparksql)、python、procedure、sub_process","respons","schedul","shell、gobblin、hadoopjava、java、hive、pig、spark、hdfstoteradata、teradatatohdf","submit","tabl","th:first","type","way","wechat","width:","xxx","{","}","一个分布式易扩展的可视化dag工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。","一键部署","不能直观区分任务类型","不需要(本身就支持ha)","与同类调度系统的对比","以dag图的方式将task按照任务的依赖关系关联起来,可实时可视化监控任务的运行状态","任务太多时会卡死服务器","任务状态、任务类型、重试次数、任务运行机器、可视化变量等关键信息一目了然","任务类型","任务队列机制,单个机器上可调度的任务数量可以灵活配置,当任务过多时会缓存在任务队列中,不会造成机器卡死","使用手册","其主要目标如下:","前端部署文档","功能","单一调度程序","单个web和调度程序组合","单点故障","去中心化的多master和多work","只能看到任务状态","可视化流程定义","后端部署文档","否","契合度","实现集群ha,通过zookeeper实现master集群和worker集群去中心化","帮助","快速部署","所有流程定义操作都是可视化的,通过拖拽任务来绘制dag,配置数据源及资源。同时对于第三方系统,提供api方式的操作。","扩展性","支持","支持丰富的任务类型:shell、mr、spark、sql(mysql、postgresql、hive、sparksql),python,sub_process、procedure等","支持任务日志在线查看及滚动、在线下载日志等","支持传统的shell任务,同时支持大数据平台任务调度:","支持国际化","支持多租户","支持大数据作业spark,hive,mr的调度,同时由于支持多租户,与大数据业务更加契合","支持对master/work","支持工作流优先级、任务优先级及任务的故障转移及任务超时告警/失败","支持工作流全局参数及节点自定义参数设置","支持工作流定时调度、依赖调度、手动调度、手动暂停/停止/恢复,同时支持失败重试/告警、从指定节点恢复失败、kill任务等操作","支持工作流运行历史树形/甘特图展示、支持任务状态统计、流程状态统计","支持暂停,恢复操作","支持补数","支持资源文件的在线上传/下载,管理等,支持在线文件创建、编辑","文档","易用性","是","是否支持多租户","是否支持自定义任务类型","是否支持集群扩展","是否能暂停和恢复","是,但是复杂","更多文档请参考","由于不支持多租户,在大数据平台业务使用不够灵活","稳定性","系统部分截图","设计特点:","调度器使用分布式调度,整体的调度能力会随便集群的规模线性增长,master和worker支持动态上下线","过载处理","还有更多等待伙伴们探索","通过python代码来绘制dag,使用不便,特别是对不会写代码的业务人员基本无法使用。","通过自定义dsl绘制dag并打包上传","部署文档","集群化部署复杂","需将工作流杀死再运行"],"frontend-deploy.html":["\"","\"#\"","\"$1\"","\"upgrade\";","\"usage:","#","#!/bin/bash","#access_log","#charset","#dev_host","#error_pag","$(cat","$0","$host;","$http_upgrade;","$pidf)","$prog","$proxy_add_x_forwarded_for;","$remote_addr;","&&","(1","(2","(start|stop|restart|reload)\"","(启动后访问地址","(打包后根目录会创建一个名为dist文件夹,用于发布线上nginx)","(注意版本","*)","+","+x","...","./configur","./configure:","/","//单独安装node","/404.html;","/50x.html","/50x.html;","/data2_4t/escheduler_front/escheduler/serv","/data2_4t/escheduler_front/escheduler/server;","/data2_4t/escheduler_front/escheduler/server(服务器静态页面存放目录)","/dev/cdrom","/eschedul","/etc/init.d/nginx","/etc/nginx/conf.d/default.conf","/etc/nginx/nginx.conf","/etc/yum.repos.d/yum.repo","/mnt/","/sbin/nologin","/usr/local/bin/","/usr/local/bin/nginx","/usr/local/nginx","/usr/local/nginx/conf/nginx.conf","/usr/local/nginx/sbin/nginx","/usr/share/nginx/html;","/usr/src/","/usr/src/nginx","/var/log/nginx/host.access.log","0","0.0.0.0:*","0.0.0.0:80","07:24","0:关闭","1","1)","1.","1.10.1.tar.gz","1.1;","1.6.2.tar.gz","1.6.2/","1.6.2]#","1024m","12","12s;","192.168.6.132","1:关闭","2)","2.6.32","20","2345","27","29","2:启用","3","3)","30s;","3:启用","404","431.el6.i686","4:启用","4s;","500","502","503","504","5:启用","6810/nginx:","6:关闭","8.9.4)","8888;#","99",":80",";;","=",">","[base]","[root@cento","[root@nginx","add","an","anpt","api_bas","baseurl=file:///mnt/packag","build","c","c\"选项来指定路径。","c++","case","cc","cd","check","chkconfig","chkconfig:","chmod","chown","client_max_body_s","cnpm","compil","conf]#","configur","connect","control","d3","description:","devel","dump","echo","elink","enabl","enterpris","epel","error","error:","error_pag","es6","esac","eschedul","escheduler:eschedul","escheduler项目前端技术栈","escheduler项目目录并执行","exit","file","forward","found","g","gcc","git@git.analysys.cn:analysys_changsha/escheduler.git","gpgcheck=0","group=eschedul","help给出说明","host","http://192.168.220.181:12345;","http://192.168.220.204:12345","http://localhost","http://localhost:8888/#/","http://localhost:8888/#/)","http://nginx.org/download/nginx","http_flv_modul","http_gzip_static_modul","http_ssl_modul","http_stub_status_modul","https://nodejs.org/download/release/v8.9.4/","hup","i686","index","index.html","index.html;","instal","ip","iptabl","jsplumb","kill","killal","koi8","linux","list","listen","ll","ln","localhost;","locat","lodash","lrwxrwxrwx","m","main;","make","master","mkdir","mount","name=redhat","netstat","nginx","nginx!","nginx!\"),可以确认nginx服务是否正常运行。","nginx:","nginx安装","nginx服务程序默认以nobody身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限,增加灵活性、降低安全风险。如:创建一个名为nginx的用户,不建立宿主目录,也禁止登录到shell环境。","nginx的运行控制","nginx的配置及运行需要pcre、zlib等软件包的支持,因此应预先安装这些软件的开发包(devel),以便提供相应的库和头文件,确保nginx的安装顺利完成。","nginx程序的监听状态,或者在浏览器中访问此web服务(默认页面将显示\"welcom","node","node包下载","node安装","npm","ok","openssl","os","page","pcre","perm","pidf=\"/usr/local/nginx/logs/nginx.pid\"","prefix","prefix=/usr/local/nginx","prog=\"/usr/local/nginx/sbin/nginx\"","proxy_connect_timeout","proxy_http_vers","proxy_pass","proxy_read_timeout","proxy_send_timeout","proxy_set_head","quit","r","r;","real","redirect","registry=https://registry.npm.taobao.org","releas","reload)","remote_addr","restart","restart)","root","root@nginx","root安装","run","s","sass","sass依赖","script","server","server_nam","servic","setenforc","start","start)","static","statu","stop","stop)","success","syntax","systemctl","t","t\"选项用来对配置文件进行检查,以便找出不当或错误的配置。配置文件nginx.conf默认位于安装目录/usr/local/nginx/conf/目录中。若要检查位于其他位置的配置文件,可使用\"","tar","tcp","test","ui","unsaf","upgrad","user=eschedul","useradd","user和—group","vi","vim","vue","welcom","wget","x","x_real_ipp","xf","y","yum","zilb","{","|grep","}","~]#","上传文件大小限制","与apache的主程序httpd类似,nginx的主程序也提供了\"","为了使nginx服务器的运行更加方便,可以为主程序nginx创建链接文件,以便管理员直接执行nginx命令就可以调用nginx的主程序。","为了使nginx服务的启动、停止、重载等操作更加方便,可以编写nginx服务脚本,并使用chkconfig和service工具来进行管理,也更加符合rhel系统的管理习惯。","主程序nginx支持标准的进程信号,通过kill或者killall命令传送","再拷贝到服务器","创建运行用户、组","创建静态页面存放目录","前端代理的接口地址","前端在开发环境(dev)中运行","前端部署文档","前端项目发布","前端项目构建","前端项目环境构建及编译","可以转淘宝镜像命令行输入","号去掉","启动、停止nginx","启用","启用http_stub_status_module模块以支持状态统计","启用ssl模块","命令","命令,生成打包文件(dist)包","如果","如果您需要用ip访问项目可以把","安装","安装epel源","安装nginx","安装及配置","开发环境","当nginx进程运行时,pid号默认存放在logs/目录下的nginx.pid文件中,因此若改用kill命令,也可以根据nginx.pid文件中的pid号来进行控制。","报错的话:","拉取前端项目到本地","拉取项目依赖包","指定nginx运行用户和组","接口地址","更改上传大小","杀死进程","注:配置前可以参考","状态","环境搭建","用命令行模式","直接运行nginx即可启动nginx服务器,这种方式将使用默认的配置文件,若要改用其他配置文件,需添加\"","等同于","编译","编译前配置","编译安装nginx","编辑配置文件","脚本一","解决方法","设定nginx的安装目录","访问地址","访问端口","运行","这样就可以通过nginx脚本来启动、停止、重启、重载nginx服务器了。","进入","退出进程","通过检查","速度非常慢","配置信息","配置文件地址","配置文件路径\"选项来指定路径。需要注意的是,若服务器中已安装有httpd等其他web服务软件,应采取措施(修改端口,停用或卸载)避免部突。","释放nginx源码包","重启","重启nginx服务","重载配置","错误","错误,请在执行完后再次执行以下命令","问题","静态文件目录","项目git仓库地址","项目如果在拉取依赖包的过程中报","项目开发环境","项目打包","项目根目录创建.env为后缀名的文件并输入","项目生产环境配置","!!!这里特别注意"],"frontend-development.html":["!(['success',","\"admin_user/general_user\"权限控制页面操作按钮是否dis","\"test\",","#ccc;","${节点类型(小写)}.vue","'#2fbfd8'","'#5101be',","'',","'',","'./lib'","'/test',","'dependent',","'dependent':","'fail'].indexof(v)","'page","'pointer',","'test',","'waitting_depend':","'后除'","'成就你我'","(!this.$refs.refds._verifdatasource())","(!this.$refs.reflocalparams._verifprop())","(!this.method)","()","(1)","(2)","(3)","(4)","(let","(v)","({name,","*","*/","...",".test","/","/**","//","//后端定义状态类型","0,","1)","1.var","1.增加节点","1.标签","1.组件名","11,","1px","1px;","1}","2.命名","2.增加状态类型","2.引号","2.组件文件","20px;","2}","3.prop","3.函数","3.增加一个路由页面","3.增加操作栏工具","3.属性缩写","3}","4.v","4.增加预置邮箱","4.对象","4.文档类型","4})","5.v","5.权限管理及disabled状态处理","5.模块","5.注释","6.0","6.指令缩写","7.单文件组件的顶级元素顺序","=","===","=>",">","@author","@descript","@modul","[\"test@analysys.com.cn\",\"test1@analysys.com.cn\",\"test3@analysys.com.cn\"]","[key,","_sourc","_source文件夹里。","_verif","_verification()","`${foo},前端工程师`","`${i18n.$t('test')}","`${i18n.$t('拖动节点和选中项')}`","`${i18n.$t('等待依赖')}`,","`http://localhost:8888/#/test`","`index.js`","`src/js/conf/${对应页面文件名","`src/sass/conf/${对应页面文件名","`src/view/${对应页面文件名","a:1","action","an","analysi","app","app.j","articl","articlestatus:","attra:","attre:","attrm:","attrz:","b:","bar","beforecreate()","beforedestroy()","beforemount()","beforeupdate()","bind,v","boolean","border","border:","build","c:","class","code:","code:0,","code:10000,","color:","combo","combo具体查看build/combo.j","compon","component:","components:","computed:","condit","conditions.vu","console.log(res)","const","const。任何一个变量的使用都要提前申明,除了","const,优先使用","created()","css","d3","dag","data()","data:{}","datasourc","datasource:","default","default:","default,否则不用。","desc","desc:","destroyed()","disable,","disable:","disabled处理:src/js/module/mixin/disabledstate.j","dom","downchart.j","download","dragzoom.j","easyscheduler`","echart","ecmascript","es6","export","fals","filter","font","foo","function","gender}","getpersoninfo","getter","header","header.vu","header{","home}/index.html`","home}/index.scss`","home}`","html","html5","http://localhost:8888/#/datasource/list","http://localhost:8888/#/hom","http://localhost:8888/#/projects/list","http://localhost:8888/#/resource/fil","http://localhost:8888/#/security/ten","http://localhost:8888/#/user/account","https://www.iconfont.cn","i18n","icon:","icounicode:","id","id:","imag","import","index","io","io请求封装","isspin:","item'","item.titl","javascript","javascript规范","js","js/vue","json.parse(json.stringify(foo))","jsplumb","jsplumbhandle.j","key","lib","lib.j","localparam","localparams:","lodash","map([])","mapact","mapgett","mapmut","mapstat","master","mazey","mazey/api","mazeydata","meta:","method:","methods:","mixin","model","mounted()","msg:","msg:'失败'","msg:'成功'","mutat","mvvm框架","mymap","mymap.entries())","name:","nav.vu","new","node_modul","npm","number,","object,","object.assign(foo,","on并没有什么不好,这里仅为了统一规范。","page","params',","path:","permiss","plugin","promis","promise((resolve,","prop","props:","reject)","require(['../pages/test/index'],","required:","resolv","resolve({","resolve),","return","router","run","sass","sass文件","serach.vu","sex})","size:","solid","solid;","src","src/js/conf/hom","src/js/conf/home/pages/dag/_source/config.j","src/js/conf/home/pages/dag/_source/dag.j","src/js/conf/home/pages/dag/_source/formmodel/task","src/js/conf/home/pages/dag/_source/plugin","src/js/conf/home/store/dag/actions.j","src/js/conf/home/store/datasource/actions.j","src/js/conf/home/store/projects/actions.j","src/js/conf/home/store/resource/actions.j","src/js/conf/home/store/security/actions.j","src/js/conf/home/store/user/actions.j","src/js/modul","src/js/module/components项目内部公共组件书写文件夹名与文件名同名,公共组件内部所拆分的子组件与util工具都放置组件内部","src/sass/common/_font.scss","state","store","string,","style:","tasksstat","taskstyp","test","test.","test.then(r","text/css","text/javascript","this.$emit('on","this.$message.warning(`${i18n.$t('请输入方法')}`)","this.datasource,","this.localparam","this.method,","this.type,","titl","title:","toolbar_${后台定义的节点的英文名称","toolbarev","toolop","tooltip","tree和gantt","true","type","type:","udf管理","ui","updated()","util","util.j","v","validator:","value]","var,而使用","view","vue","vue的路由器,在每个页面的入口文件index.j","vue规范","watch:","width:","worker","{","{...foo,","{a:","{a:1}","{b:","{name,","{{","{}","{},","|","}","})","},","}}","└──","├──","、、的顺序放置。","一个页面对应一个html文件","一个页面对应一个sass文件","下分为","下载组件","两张图","中更自然的是驼峰命名。","为","为了更高效的元素切换,会复用相同的部分,例如:value。为了避免复用带来的不合理效果,应该在同种元素上加上","为了统一和便于阅读,应该按","为了统一规范始终使用指令缩写,使用v","事件中处理。","二次开发需要重新引入自己的库","代表的颜色主要用于","任务实例","例如:shell}.png","值使更新","做标识。","先将节点的icon小图标放置src/js/conf/home/pages/dag/img文件夹内,注意","入口","入口文件","公共图片存放","公共模块及util","公共部分","公司内部组件(公司组件库开源后可删掉)","具体操作:https://router.vuejs.org/zh/","具体操作:https://vuex.vuejs.org/zh/","具体操作:src/js/module/permissions/index.j","内部项目公共组件","函数名统一使用驼峰命名,以大写字母开头申明的都是构造函数,使用小写字母开头的都是普通函数,也不该使用","函数管理","分为:","别名","前端定义id","前端开发文档","前端用作key值","匿名函数统一使用箭头函数,多个参数/返回值时优先使用对象的结构赋值。","反例","可视化库图表库","后台定义节点类型英文名称用作key值","后续用作排序","告警组管理","和","国际化","图片下载处理","图表组件","在","在src/js/conf/home/pag","在同一个元素(例如:)上使用,因为","在引用外部","在执行","基于axio","增加一个","如果模块只有一个输出值,使用","子组件验证","字体图标","字体图标库可访问","存储","安全中心","定义","定义的函数可以随便放在任何位置。","实用工具库","对应的html文件则在","对应的sass文件则在","对象,往里增加","属于","属于节点组件内的必须拥有一个函数","属性。html5","属性尽量使用缩写,提高代码的效率和方便理解。","属性,所以没必要指定。","工作流","工作流定义","工作流实例","工具","工具图标","工具标识","工具类","工具类都以一个构造函数返回","应该总是使用","应该给一个模块文件写一个区块注释。","应该避免与","建一个","建议不再使用","开发环境node依赖包","形式返回","或","所有的接口都以","所有页面入口文件在","打包及开发环境项目的一些webpack配置","扩展开发","找到","找到src/lib/localdata/email.js启动和定时邮箱地址输入可以自动下拉匹配。","技术选型","拖拽线条处理","接口","操作则在","操作符去操作普通函数。","放到容器的父元素之上。","数据源中心","数据源管理","数组/对象的默认值应该由一个工厂函数返回","文件夹,在文件夹里建一个index.vue入口文件。","文件管理","文件,跟当前节点相关的组件内容都在这里写。","无数据","时不写","时渲染效率更高。","是否旋转(需代码判断)","是否禁用","显示","更高,为了避免无效计算和渲染,应该尽量将","权限操作","权限根据后端接口getuserinfo接口给出usertype:","标准。","标签冲突,并且结构更加清晰。","标记中对大小写是不敏感的,使用连接线更加友好;而在","样式后续都是打包在一个文件里,所有在单个vue文件中定义的样式,在别的文件里同类名的样式也是会生效的所有在创建一个组件前都会有个顶级类名","正例","正常返回","每个路由对应的页面都有一个状态管理的文件","注意非0都为错误走catch","注意:字体库用的自己的","注意:项目内已经增加了sass插件,单个vue文件里可以直接书写sass语法","状态管理","用于disabled操作","用户中心","用户管理","的","的优先级比","的命名应该语义化,通过看名字就知道是干嘛的;多个单词用连接线","的定义应该尽量详细的指定其类型、默认值和验证。","的方式管理项目的模块。","的时候应该始终以驼峰格式(camelcase)命名,在父组件赋值的时候使用连接线(","相关接口","相关接口路径","示例:","租户管理","系统功能模块","组件名为多个单词,并且用连接线(","统一使用","统一放在文件顶部。","节点组件内部所用到公共的组件都在_source下,commcon.js用与配置公共数据","若同一组","规范","详情:https://vuex.vuejs.org/zh/guide/actions.html","详情:https://vuex.vuejs.org/zh/guide/getters.html","详情:https://vuex.vuejs.org/zh/guide/mutations.html","详情:https://vuex.vuejs.org/zh/guide/state.html","调用","资源中心","资源管理","路由和状态管理","路由地址","路由地址对应的页面文件","路由对应组件入口文件","路由指向页面目录","路由管理","过滤器和vue管道","这样就可以直接访问","这里遵循每个语言的特性,因为在","进行添加","连接。","连线插件库","逻辑控制中的元素逻辑相同,vue","遍历的时候,总是应该带上","都会注册进来","里的","错误返回","页面文件","项目","项目所需文件","项目目录结构","项目第三方资源本地化","项目管理","项目采用vue单页面应用(spa)开发","项目首页","首先在路由管理增加一个路由地址src/js/conf/home/router/index.j","首页","验证","验证函数","验证成功后讲当前组件的相关数据往父组件抛。","高性能的","默认","鼠标缩放效果处理",")。",")连接,避免与"],"architecture-design.html":["###","####","#####","######","*","**dag**","**quartz**","**sql任务**","**sub_process**","**两种命令类型是由调度内部控制使用,外部无法调用","**任务实例**:任务实例是流程定义中任务节点的实例化,标识着具体的任务执行状态","**任务类型**:","**优先级**","**依赖**:系统不单单支持","**失败策略**:对于并行运行的任务,如果有任务失败,提供两种失败策略处理方式,**继续**是指不管并行运行任务的状态,直到流程失败结束。**结束**是指一旦发现失败任务,则同时kill掉正在运行的并行任务,流程失败结束","**定时调度**:系统采用","**恢复等待线程","**恢复被容错的工作流**","**流程定义**:通过拖拽任务节点并建立任务节点的关联所形成的可视化**dag**","**流程实例**:流程实例是流程定义的实例化,可以通过手动启动或定时调度生成","**补数**:补历史数据,支持**区间并行和串行**两种补数方式","**调度方式:**","**邮件告警**:支持","*/","/**","1.","1.名词解释","2.1","2.2","2.3","2.任务失败重试","2.系统架构","acycl","alert","api","api向外部提供请求服务。","api接口层,主要负责处理前端ui层的请求。该服务统一提供rest","append","class","command","dag","dag示例","dag:","distribut","easyscheduler中scheduler线程分布式锁实现流程图:","easyscheduler使用zookeeper分布式锁来实现同一时刻只有一台master执行scheduler,或者只有一台worker执行任务的提交。","easyscheduler的去中心化是master/worker注册到zookeeper中,实现master集群和worker集群无中心,并使用zookeeper分布式锁来选举其中的一台master或worker为“管理者”来执行任务。","easyscheduler的架构原理及实现思路。后续会补充","extend","fetchtaskthread主要负责不断从task","fileappend","fileappender主要实现如下:","filter","graph,简称dag。工作流中的task任务以有向无环图的形式组装起来,从入度为零的节点进行拓扑遍历,直到无后继节点为止。举例如下图:","log","loggerserver是一个rpc服务,提供日志分片查看、刷新和下载等功能","master","masterexecthread主要是负责dag任务切分、任务提交监控、各种不同命令类型的逻辑处理","masterschedulerthread是一个扫描线程,定时扫描数据库中的","masterserv","masterserver服务启动时向zookeeper注册临时节点,通过监听zookeeper临时节点变化来进行容错处理。","masterserver采用分布式无中心设计理念,masterserver主要负责","mastertaskexecthread主要负责任务的持久化","master容错完成之后则重新由easyscheduler中scheduler线程调度,遍历","master容错流程图:","master的角色主要负责任务分发并监督slave的健康状态,可以动态的将任务均衡到slave上,以致slave节点不至于“忙死”或”闲死”的状态。","public","quartz分布式调度组件,主要负责定时任务的启停操作,当quartz调起任务后,master内部会有线程池具体负责处理任务的后续操作","queue","queue中是否已经存在,如果存在则同样监控任务实例的状态,如果不存在则重新提交任务实例。","queue中领取任务,并根据不同任务类型调用taskschedulethread对应执行器。","scheduler线程一旦发现任务实例为”","scheduler线程在获取command的时候是fifo的方式执行的。","subflowthread2等待subflowthread3结束,而subflowthread3等待线程池有新线程,则整个dag流程不能结束,从而其中的线程也不能释放。这样就形成的子父流程循环等待的状态。此时除非启动新的master来增加线程来打破这样的”僵局”,否则调度集群将不能再使用。","task","tasklogappend","tasklogfilt","tasklogfilter实现如下:","ui","workerserv","workerserver也采用分布式无中心设计理念,workerserver主要负责任务的执行和提供日志服务。workerserver服务启动时向zookeeper注册临时节点,并维持心跳。","worker容错流程图:","worker的角色主要负责任务的执行工作并维护和master的心跳,以便master可以分配任务给slave。","zookeep","zookeeper服务,系统中的masterserver和workerserver节点都通过zookeeper来进行集群管理和容错。另外系统还基于zookeeper进行事件监听和分布式锁。","一、去中心化vs中心化","一旦master出现了问题,则群龙无首,整个集群就会崩溃。为了解决这个问题,大多数master/slave架构模式都采用了主备master的设计方案,可以是热备或者冷备,也可以是自动切换或手动切换,而且越来越多的新系统都开始具备自动选举切换master的能力,以提升系统的可用性。","一种是业务节点,这种节点都对应一个实际的脚本或者处理语句,比如shell节点,mr节点、spark节点、依赖节点等。","三、线程不足循环等待问题","上图中mainflowthread等待subflowthread1结束,subflowthread1等待subflowthread2结束,","中心化思想","中心化思想设计存在的问题:","中心化的设计理念比较简单,分布式集群中的节点按照角色分工,大体上分为两种角色:","也是一个单独的流程定义,是可以单独启动执行的","二、分布式锁实践","于是我们选择了第三种方式来解决线程不足的问题。","五、任务优先级设计","介于考虑到尽可能的easyscheduler的轻量级性,所以选择了grpc实现远程访问日志信息。","以/流程定义id/流程实例id/任务实例id.log的形式生成日志","任务切分、任务提交监控,并同时监听其它masterserver和workerserver的健康状态。","任务失败重试是任务级别的,是调度系统自动进行的,比如一个shell任务设置重试次数为3次,那么在shell任务运行失败后会自己再最多尝试运行3次","任务的优先级也分为5级,依次为highest、high、medium、low、lowest。如下图","全称direct","六、logback和grpc实现日志访问","其中master监控其他master和worker的目录,如果监听到remove事件,则会根据具体的业务逻辑进行流程实例容错或者任务实例容错。","其中流程定义的优先级是考虑到有些流程需要先于其他流程进行处理,这个可以在流程启动或者定时启动时配置,共有5级,依次为highest、high、medium、low、lowest。如下图","具体实现是根据任务实例的json解析优先级,然后把**流程实例优先级_流程实例id_任务优先级_任务id**信息保存在zookeeper任务队列中,当从任务队列获取的时候,通过字符串比较即可得出最需要优先执行的任务","分布式调度器,并同时支持cron表达式可视化的生成","去中心化","去中心化设计的核心设计在于整个分布式系统中不存在一个区别于其他节点的”管理者”,因此不存在单点故障问题。但由于不存在”","另外一个问题是如果scheduler在master上,虽然可以支持一个dag中不同的任务运行在不同的机器上,但是会产生master的过负载。如果scheduler在slave上,则一个dag中所有的任务都只能在某一台机器上进行作业提交,则并行任务比较多的时候,slave的压力可能会比较大。","和","四、容错设计","在去中心化设计里,通常没有master/slave的概念,所有的角色都是一样的,地位是平等的,全球互联网就是一个典型的去中心化的分布式系统,联网的任意节点设备down机,都只会影响很小范围的功能。","在对系统架构说明之前,我们先来认识一下调度系统常用的名词","在早期调度设计中,如果没有优先级设计,采用公平调度设计的话,会遇到先行提交的任务可能会和后继提交的任务同时完成的情况,而不能做到设置流程或者任务的优先级,因此我们对此进行了重新设计,目前我们设计如下:","增加一种资源不足的command类型,如果线程池不足,则将主流程挂起。这样线程池就有了新的线程,可以让资源不足挂起的流程重新唤醒执行。","如果一个dag中没有子流程,则如果command中的数据条数大于线程池设置的阈值,则直接流程等待或失败。","如果一个大的dag中嵌套了很多子流程,如下图则会产生“死等”状态:","如果工作流中有任务失败达到最大重试次数,工作流就会失败停止,失败的工作流可以手动进行重跑操作或者流程恢复操作","宕机容错","实际上,真正去中心化的分布式系统并不多见。反而动态中心化分布式系统正在不断涌出。在这种架构下,集群中的管理者是被动态选择出来的,而不是预置的,并且集群在发生故障的时候,集群的节点会自发的举行\"会议\"来选举新的\"管理者\"去主持工作。最典型的案例就是zookeeper及go语言实现的etcd。","容错分为服务宕机容错和任务重试,服务宕机容错又分为master容错和worker容错两种情况","对于启动新master来打破僵局,似乎有点差强人意,于是我们提出了以下三种方案来降低这种风险:","对单master线程池进行判断,如果线程池已经满了,则让线程直接失败。","将日志放到es搜索引擎上","总结","我们也曾经基于redis实现过队列,不过我们希望easyscheduler依赖到的组件尽量地少,所以最后还是去掉了redis实现。","我们使用自定义logback的fileappender和filter功能,实现每个任务实例生成一个日志文件。","找到”正在运行”和“提交成功”的任务,对”正在运行”的任务监控其任务实例的状态,对”提交成功”的任务需要判断task","按照**不同流程实例优先级**优先于**同一个流程实例优先级**优先于**同一流程内任务优先级**优先于**同一流程内任务**提交顺序依次从高到低进行任务处理。","接下来说正题,我们将工作流中的任务节点分了两种类型。","接口包括工作流的创建、定义、查询、修改、发布、下线、手工启动、停止、暂停、恢复、从该节点开始执行等等。","提供任务队列的操作,目前队列也是基于zookeeper来实现。由于队列中存的信息较少,不必担心队列里数据过多的情况,实际上我们压测过百万级数据存队列,对系统稳定性和性能没影响。","提供告警相关接口,接口主要包括告警两种类型的告警数据的存储、查询和通知功能。其中通知功能又有邮件通知和snmp(暂未实现)两种。","服务容错设计依赖于zookeeper的watcher机制,实现原理如图:","本文从调度出发,初步介绍了大数据分布式工作流调度系统","架构设计思想","架构说明","查询结果邮件发送,流程实例运行结果邮件告警及容错告警通知","每一个**业务节点**都可以配置失败重试的次数,当该任务节点失败,会自动重试,直到成功或者超过配置的重试次数。**逻辑节点**不支持失败重试。但是逻辑节点里的任务支持重试。","注意:master","注意:由于”","流程失败恢复是流程级别的,是手动进行的,恢复是从只能**从失败的节点开始执行**或**从当前节点开始执行**","流程失败重跑也是流程级别的,是手动进行的,重跑是从开始节点进行","由于web(ui)和worker不一定在同一台机器上,所以查看日志不能像查询本地文件那样。有两种方案:","目前支持有shell、sql、sub_process、procedure、mr、spark、python、dependent,同时计划支持动态插件扩展,注意:其中子","简单的前驱和后继节点之间的依赖,同时还提供**任务依赖**节点,支持**流程间的自定义任务依赖**","管理者”节点所以每个节点都需要跟其他节点通信才得到必须要的机器信息,而分布式系统通信的不可靠行,则大大增加了上述功能的实现难度。","系统支持基于cron表达式的定时调度和手动调度。命令类型支持:启动工作流、从当前节点开始执行、恢复被容错的工作流、恢复暂停流程、从失败节点开始执行、补数、调度、重跑、暂停、停止、恢复等待线程。其中","系统架构图","系统架构设计","系统的前端页面,提供系统的各种可视化操作界面,详见使用手册部分。","网络抖动”可能会使得节点短时间内失去和zookeeper的心跳,从而发生节点的remove事件。对于这种情况,我们使用最简单的方式,那就是节点一旦和zookeeper发生超时连接,则直接将master或worker服务停掉。","获取分布式锁的核心流程算法如下","表,根据不同的命令类型进行不同的业务操作","计算所有master的线程总和,然后对每一个dag需要计算其需要的线程数,也就是在dag流程执行之前做预计算。因为是多master线程池,所以总线程数不太可能实时获取。","该服务内主要包含:","该服务包含:","调度系统架构设计","过滤匹配以taskloginfo开始的线程名称:","还有一种是逻辑节点,这种节点不做实际的脚本或语句处理,只是整个流程流转的逻辑处理,比如子流程节等。","这里首先要区分任务失败重试、流程失败恢复、流程失败重跑的概念:","通过grpc通信获取远程日志信息","需要容错”状态,则接管任务并进行重新提交。",":支持流程实例和任务实例的优先级,如果流程实例和任务实例的优先级不设置,则默认是先进先出"],"backend-deploy.html":["\"false\"","\"zookeeper\"","#","#============================================================================","#alert","#check","#default","#eschedul","#execut","#resource.view.suffix","#resourcemanag","#task","#the","#zookeep","&","'{password}';","'{user}'@'%'","'{user}'@'localhost'","(5.5+)","*",",","./bin/arklift",".escheduler_env.sh","/etc/sudo","1","1/10,","1/6,","10","1,创建部署用户","2","25","2>&1","2,根据实际需求来创建hdfs根路径","3,项目编译","4,修改配置文件","4,将环境变量文件复制到指定目录","5","5000","5,修改","5,创建目录并将环境变量文件复制到指定目录","60000","6,一键部署","6,启停服务","8",":","=",">","alert","alert.properti","alert.type=email","all=(all)","api","appli","application.properti","assembly:assembl","attribut","auto","avg","base","be","between","bin","charact","check","class","clean","close","cluster","collat","com.mysql.jdbc.driv","commit","common","common/common.properti","common/common.properties配置的escheduler.env.path","common/hadoop/hadoop.properti","concurr","conf","config","configur","configuration,","connect","connection,","content","copi","core","count","cpu","creat","d","daemon.sh","dao","dao/data_source.properti","dao数据源配置","data","data.basedir.path=/tmp/eschedul","data.download.basedir.path=/tmp/escheduler/download","data.store2hdfs.basepath=/eschedul","databas","datasourc","decreases.","default","destroy","detect","develop","development.state=fals","dir,","dirctori","directori","directory.","dmaven.test.skip=tru","download.","easyschedul","effici","email/sm","empti","enabl","env","equal","eschedul","escheduler.*","escheduler.env.path=/opt/.escheduler_env.sh","escheduler.env.pi","escheduler.env.py=/opt/escheduler_env.pi","escheduler.queue.impl=zookeep","escheduler_env.pi","evict","evicted,","execut","exist","export","failov","fair","fals","file","fine","flush","free","fs.defaultfs=hdfs://mycluster:8020","g.","grant","greater","h","ha","ha,","hadoop","hadoop(2.7.3)","hadoop_conf_dir=/opt/soft/hadoop/etc/hadoop","hadoop_home=\"/opt/soft/hadoop\"","hadoop_home=/opt/soft/hadoop","hdf","hdfs.startup.st","hdfs.startup.state=tru","heartbeat","hive(1.2.1)","hive_home=\"/opt/soft/hive\"","hive_home=/opt/soft/h","host","http","identifi","idl","implementation,","import","instal","install.sh","interv","ip","java_home=\"/opt/soft/java\"","java_home=/opt/soft/java","jdbc:mysql://192.168.xx.xx:3306/escheduler?characterencoding=utf8&usessl=fals","jobstor","kazoo","larger","less","lib","limit","load,","lock","logger","logs/","longer","longest","mail","mail.passwd=xxxxxxx","mail.protocol=smtp","mail.sender=xxxxxxx","mail.server.host=smtp.exmail.qq.com","mail.server.port=25","main","make","master","master.exec.task.number=20","master.exec.threads=100","master.heartbeat.interval=10","master.max.cpuload.avg=10","master.properti","master.reserved.memory=1","master.task.commit.interval=100","master.task.commit.retrytimes=5","master配置文件","max","maxwait,","memori","memory,","millis,","millisecond","milliseconds.","min","minevictableidletimemillis.","monitor_server.pi","mvn","myd","mysql","mysql>","name.","name=com.mysql.jdbc.driv","namenod","namenode,if","necessary,","need","nohup","nohup.out","nopasswd:","note","null,","num","number","on","open","org.quartz.datasource.myds.driv","org.quartz.datasource.myds.maxconnect","org.quartz.datasource.myds.password","org.quartz.datasource.myds.url","org.quartz.datasource.myds.us","org.quartz.datasource.myds.validationqueri","org.quartz.impl.jdbcjobstore.jobstoretx","org.quartz.impl.jdbcjobstore.stdjdbcdeleg","org.quartz.jobstore.class","org.quartz.jobstore.clustercheckininterv","org.quartz.jobstore.datasourc","org.quartz.jobstore.driverdelegateclass","org.quartz.jobstore.isclust","org.quartz.jobstore.misfirethreshold","org.quartz.jobstore.tableprefix","org.quartz.jobstore.useproperti","org.quartz.scheduler.instanceid","org.quartz.scheduler.instancenam","org.quartz.scheduler.makeschedulerthreaddaemon","org.quartz.simpl.simplethreadpool","org.quartz.threadpool.class","org.quartz.threadpool.makethreadsdaemon","org.quartz.threadpool.threadcount","org.quartz.threadpool.threadprior","os","os.putenv('path','%s'%path)","owner","packag","parallel","path","path,","path,ne","path.","path=\"%s/bin:%s/bin:%s/bin:%s/bin:%s/bin:%s/bin:%s\"%(hive_home,hadoop_home,spark_home1,spark_home2,java_home,python_home,path)","path=$hadoop_home/bin:$spark_home1/bin:$spark_home2/bin:$python_home/bin:$java_home/bin:$hive_home/bin:$path","path=/escheduler/","path=os.environ['path']","perform","permiss","permissions。\"/escheduler\"","physic","pip","pleas","port","post","postgresql(8.2.15+)","privileg","privileges;","process","process.exec.basepath=/tmp/escheduler/exec","properti","pscach","pscache,","python","python_home=\"/opt/soft/python\"","python_home=/opt/soft/python","python任务","p{password}","qrtz_","quartz.properti","queri","queue","read","recommend","remain","request","requir","requiretti","reserv","resourc","resource.view.suffixs=txt,log,sh,conf,cfg,py,java,sql,hql,xml","resourcemanag","resourcemanager,","retri","return","root","run","schedul","script","second","select","self","server","server.context","server.log","server.max","server.port=12345","server.session.timeout=7200","session","set","sh","shell任务","singl","site.xml","size","size=1024mb","size=5000000","sourc","spark(1.x,2.x)","spark_home1=\"/opt/soft/spark1\"","spark_home1=/opt/soft/spark1","spark_home2=\"/opt/soft/spark2\"","spark_home2=/opt/soft/spark2","specifi","spring","spring.datasource.defaultautocommit=tru","spring.datasource.driv","spring.datasource.initialsize=5","spring.datasource.keepalive=tru","spring.datasource.maxactive=50","spring.datasource.maxpoolpreparedstatementperconnectionsize=20","spring.datasource.maxwait=60000","spring.datasource.minevictableidletimemillis=300000","spring.datasource.minidle=5","spring.datasource.password=xx","spring.datasource.poolpreparedstatements=tru","spring.datasource.testonborrow=tru","spring.datasource.testonreturn=fals","spring.datasource.testwhileidle=tru","spring.datasource.timebetweenconnecterrormillis=60000","spring.datasource.timebetweenevictionrunsmillis=60000","spring.datasource.type=com.alibaba.druid.pool.druiddatasourc","spring.datasource.url=jdbc:mysql://192.168.xx.xx:3306/escheduler?characterencoding=utf","spring.datasource.username=xx","spring.datasource.validationquery=select","spring.datasource.validationquerytimeout=3","spring.http.multipart.max","sql","sql任务和postgresql","start","state?","statement.","stop","store","submit","sudo","sure","system","target/eschedul","task","testonborrow,","testonreturn,","testwhileidl","thread","threadpool","time","timeout,","true","true.","type","u","unfair","unit","upload","us","user","user}","useunfairlock","utf8","utf8_general_ci;","valid","valu","vi","wait","web配置文件","whether","without","work.","worker","worker.exec.threads=100","worker.fetch.task.num","worker.heartbeat.interval=10","worker.max.cpuload.avg=10","worker.properti","worker.reserved.memory=1","worker配置文件","write","xl","xls.file.path=/opt/xl","xx","yarn.application.status.address=http://ark1:8088/ws/v1/cluster/apps/%","yarn.resourcemanager.ha.rm.ids=192.168.xx.xx,192.168.xx.xx","zookeep","zookeeper(3.4.6)","zookeeper.connection.timeout=300","zookeeper.escheduler.dead.servers=/escheduler/dead","zookeeper.escheduler.lock.masters.failover=/escheduler/lock/failover/mast","zookeeper.escheduler.lock.masters=/escheduler/lock/mast","zookeeper.escheduler.lock.workers.failover=/escheduler/lock/failover/work","zookeeper.escheduler.lock.workers=/escheduler/lock/work","zookeeper.escheduler.masters=/escheduler/mast","zookeeper.escheduler.root=/eschedul","zookeeper.escheduler.workers=/escheduler/work","zookeeper.properti","zookeeper.quorum=192.168.xx.xx:2181,192.168.xx.xx:2181,192.168.xx.xx:2181","zookeeper.retry.maxtime=5","zookeeper.retry.sleep=1000","zookeeper.session.timeout=300","{db}","{host}","{linux","{user}","{version}/","{version}/conf","{version}/conf/env","{version}/sql/escheduler.sql和quartz.sql","|——","","├──","一行","一键部署","一键部署脚本","下的data.basedir.path、data.download.basedir.path和process.exec.basepath路径","下面","两个环境变量文件复制到","中","中变量的值,替换成自身业务所需的值","主机器","伪分布式部署","使用部署用户","修改","修改为部署用户","修改为部署用户,否则忽略此步骤","修改配置文件和","分布式部署","创建","创建db和账号","创建表","创建部署用户","启停alert","启停api","启停logger","启停master","启停worker","和","和各个其它机器ssh打通","因为eschedul","在需要部署调度的机器上如上","基础服务启动脚本","基础软件安装","如上","如上进行","存储过程需要安装","安装","定时器配置文件","将","将.escheduler_env.sh","并且需要注释掉","必装","执行编译命令:","数据库初始化","文件","方式来执行作业,所以部署用户需要有","日志查看","日志统一存放于指定文件夹内","服务监控","权限,而且是免密的。","查看目录","根据","正常编译完后,会在当前目录生成","注意:在全部服务都启动之后启动","环境变量","环境变量配置","的目录下,并将","的配置来判断是否启动hdfs,如果启动,则需要创建hdfs根路径,并将","脚本是监听,master和worker服务挂掉重启的脚本","说明","说明:在","说明:配置文件位于","账号","选装,hive任务提交需要安装","选装,postgresql","选装,spark任务提交需要安装","通用配置文件配置,队列选择及地址配置,通用文件目录配置","部署文档","部署用户是","都是以","配置文件","配置文件说明","配置邮件告警信息","集群启动、停止和服务监控启停脚本","项目依赖jar包,包括各个模块jar和第三方jar","项目依赖sql文件","项目编译","项目配置文件",":必装",":选装,资源上传,mr任务提交需要安装"],"task-plugin-development.html":["=","abstractparamet","abstracttask","abstractyarntask","buildcommand","cn.escheduler.server.worker.task","daofactory.getdaoinstance(processdao.class);","exitstatuscod","handl","init","logger","logger)","logger);","new","processdao,设置相应的","props,","props.getenvfile(),","props.gettaskappid(),","props.gettaskdir(),","props.gettaskdir();","props.gettaskstarttime(),","props.gettasktimeout(),","props.gettenantcode(),","public","run","shellcommandexecutor","shellcommandexecutor(this::loghandle,","shelltask(taskprop","super(props,","taskmanag","taskprops和自定义logger,taskprop","this.processdao","this.processtask","this.taskdir","{","}","下的","中创建自定义任务","任务插件开发","传入自定义任务的","基于shell的任务","基于yarn的计算(参见mapreducetask)","基于非shell的任务(参见sqltask)","基于非yarn的计算(参见shelltask)","封装command","封装了任务的信息,logger分装了自定义日志信息","提醒:目前任务插件开发暂不支持热部署","方法中解析自定义任务参数","方法中解析自定义任务参数实体","方法中,解析自定义任务参数实体","方法实现业务逻辑并设置相应的exitstatuscod","方法,第一个参数传入自己的command,第二个参数传入","方法,调用","构造方法","构造方法中实例化","构造方法或者重写","构造方法调度","的","类中创建自定义任务(也需在tasktype注册对应的任务类型)","继承","自定义任务参数实体","自定义任务插件文档","重写","需要在","需要继承cn.escheduler.server.worker.task"]},"length":6},"tokenStore":{"root":{"0":{"7":{"docs":{},":":{"2":{"4":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"docs":{}},"docs":{}}},"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0068143100511073255}},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},":":{"8":{"0":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"docs":{}},"docs":{},"*":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}},"docs":{}}},"docs":{}}},"docs":{}},":":{"docs":{},"关":{"docs":{},"闭":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841}}}},"1":{"0":{"2":{"4":{"docs":{},"m":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}},"docs":{}},"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}},"1":{"docs":{},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"2":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}},"s":{"docs":{},";":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}},"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"6":{"docs":{},".":{"1":{"3":{"2":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.005110732538330494},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}},")":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627},"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}},".":{"1":{"0":{"docs":{},".":{"1":{"docs":{},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{},"g":{"docs":{},"z":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}},"docs":{}}},"docs":{},";":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}},"6":{"docs":{},".":{"2":{"docs":{},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{},"g":{"docs":{},"z":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}},"/":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"]":{"docs":{},"#":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.008517887563884156}}}}},"docs":{}}},"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314},"architecture-design.html":{"ref":"architecture-design.html","tf":0.011049723756906077}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}},"增":{"docs":{},"加":{"docs":{},"节":{"docs":{},"点":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"标":{"docs":{},"签":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"组":{"docs":{},"件":{"docs":{},"名":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}},"名":{"docs":{},"词":{"docs":{},"解":{"docs":{},"释":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}},":":{"docs":{},"关":{"docs":{},"闭":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}},"p":{"docs":{},"x":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},";":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}},"}":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841}}},"/":{"1":{"0":{"docs":{},",":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}},"docs":{}},"6":{"docs":{},",":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}},"docs":{}},",":{"docs":{},"创":{"docs":{},"建":{"docs":{},"部":{"docs":{},"署":{"docs":{},"用":{"docs":{},"户":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}}}}}},"2":{"0":{"0":{"docs":{},"p":{"docs":{},"x":{"docs":{},";":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}},"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}},"p":{"docs":{},"x":{"docs":{},";":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"3":{"4":{"5":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"docs":{}},"docs":{}},"5":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"7":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"9":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}},")":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},".":{"1":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}},"2":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}},"3":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}},"6":{"docs":{},".":{"3":{"2":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"docs":{}},"docs":{}}},"docs":{},"命":{"docs":{},"名":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"增":{"docs":{},"加":{"docs":{},"状":{"docs":{},"态":{"docs":{},"类":{"docs":{},"型":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}},"引":{"docs":{},"号":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"组":{"docs":{},"件":{"docs":{},"文":{"docs":{},"件":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"任":{"docs":{},"务":{"docs":{},"失":{"docs":{},"败":{"docs":{},"重":{"docs":{},"试":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}},"系":{"docs":{},"统":{"docs":{},"架":{"docs":{},"构":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}},":":{"docs":{},"启":{"docs":{},"用":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}},"}":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}},">":{"docs":{},"&":{"1":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}}},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"实":{"docs":{},"际":{"docs":{},"需":{"docs":{},"求":{"docs":{},"来":{"docs":{},"创":{"docs":{},"建":{"docs":{},"h":{"docs":{},"d":{"docs":{},"f":{"docs":{},"s":{"docs":{},"根":{"docs":{},"路":{"docs":{},"径":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}}}}}}}}}}}}}}}},"3":{"0":{"docs":{},"s":{"docs":{},";":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}},"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}},")":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},":":{"docs":{},"启":{"docs":{},"用":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"函":{"docs":{},"数":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"增":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"面":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}},"操":{"docs":{},"作":{"docs":{},"栏":{"docs":{},"工":{"docs":{},"具":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}},"属":{"docs":{},"性":{"docs":{},"缩":{"docs":{},"写":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"}":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}},",":{"docs":{},"项":{"docs":{},"目":{"docs":{},"编":{"docs":{},"译":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}}}},"4":{"0":{"4":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"docs":{}},"3":{"1":{"docs":{},".":{"docs":{},"e":{"docs":{},"l":{"6":{"docs":{},".":{"docs":{},"i":{"6":{"8":{"6":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{}}}}},"docs":{}},"docs":{},":":{"docs":{},"启":{"docs":{},"用":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}},"s":{"docs":{},";":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}},".":{"docs":{},"v":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}},"增":{"docs":{},"加":{"docs":{},"预":{"docs":{},"置":{"docs":{},"邮":{"docs":{},"箱":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}},"对":{"docs":{},"象":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"文":{"docs":{},"档":{"docs":{},"类":{"docs":{},"型":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"}":{"docs":{},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},",":{"docs":{},"修":{"docs":{},"改":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}},"将":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"文":{"docs":{},"件":{"docs":{},"复":{"docs":{},"制":{"docs":{},"到":{"docs":{},"指":{"docs":{},"定":{"docs":{},"目":{"docs":{},"录":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}},"5":{"0":{"0":{"0":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"2":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"3":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"4":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"docs":{}},"1":{"0":{"5":{"7":{"0":{"3":{"6":{"7":{"docs":{"./":{"ref":"./","tf":0.0078125}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},":":{"docs":{},"启":{"docs":{},"用":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}},".":{"docs":{},"v":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}},"权":{"docs":{},"限":{"docs":{},"管":{"docs":{},"理":{"docs":{},"及":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"状":{"docs":{},"态":{"docs":{},"处":{"docs":{},"理":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"注":{"docs":{},"释":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}},",":{"docs":{},"修":{"docs":{},"改":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}},"创":{"docs":{},"建":{"docs":{},"目":{"docs":{},"录":{"docs":{},"并":{"docs":{},"将":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"文":{"docs":{},"件":{"docs":{},"复":{"docs":{},"制":{"docs":{},"到":{"docs":{},"指":{"docs":{},"定":{"docs":{},"目":{"docs":{},"录":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}},"6":{"0":{"0":{"0":{"0":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}},"docs":{}},"docs":{}},"8":{"1":{"0":{"docs":{},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},":":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}},"docs":{}},"docs":{}},"docs":{},":":{"docs":{},"关":{"docs":{},"闭":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}},".":{"0":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}},"docs":{},"指":{"docs":{},"令":{"docs":{},"缩":{"docs":{},"写":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},",":{"docs":{},"一":{"docs":{},"键":{"docs":{},"部":{"docs":{},"署":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}},"启":{"docs":{},"停":{"docs":{},"服":{"docs":{},"务":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}},"7":{"docs":{},".":{"docs":{},"单":{"docs":{},"文":{"docs":{},"件":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"顶":{"docs":{},"级":{"docs":{},"元":{"docs":{},"素":{"docs":{},"顺":{"docs":{},"序":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}},"8":{"8":{"8":{"8":{"docs":{},";":{"docs":{},"#":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}},"docs":{}},"docs":{}},"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},".":{"9":{"docs":{},".":{"4":{"docs":{},")":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}},"docs":{}}},"docs":{}}},"9":{"9":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"docs":{}},"docs":{},"+":{"docs":{"./":{"ref":"./","tf":0.015625},"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.010221465076660987}},"x":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}},"/":{"4":{"0":{"4":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},";":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}},"docs":{}},"docs":{}},"5":{"0":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627}},";":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}},"docs":{}},"docs":{"./":{"ref":"./","tf":0.015625},"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314},"frontend-development.html":{"ref":"frontend-development.html","tf":0.008168028004667444}},"/":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.038506417736289385}},"单":{"docs":{},"独":{"docs":{},"安":{"docs":{},"装":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}},"后":{"docs":{},"端":{"docs":{},"定":{"docs":{},"义":{"docs":{},"状":{"docs":{},"态":{"docs":{},"类":{"docs":{},"型":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"2":{"docs":{},"_":{"4":{"docs":{},"t":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"(":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"静":{"docs":{},"态":{"docs":{},"页":{"docs":{},"面":{"docs":{},"存":{"docs":{},"放":{"docs":{},"目":{"docs":{},"录":{"docs":{},")":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}},"e":{"docs":{},"v":{"docs":{},"/":{"docs":{},"c":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}},"t":{"docs":{},"c":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"d":{"docs":{},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627}}}}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},".":{"docs":{},"d":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}},"y":{"docs":{},"u":{"docs":{},"m":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"/":{"docs":{},"y":{"docs":{},"u":{"docs":{},"m":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"d":{"docs":{},"o":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}},"m":{"docs":{},"n":{"docs":{},"t":{"docs":{},"/":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}},"s":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"n":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"r":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0068143100511073255}}}}}}}}}}}}}}}}},"s":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.005110732538330494}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},";":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"/":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"*":{"docs":{},"*":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841},"architecture-design.html":{"ref":"architecture-design.html","tf":0.011049723756906077}}}}},":":{"8":{"0":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.005110732538330494}}},"docs":{}},"docs":{"./":{"ref":"./","tf":0.0078125},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.014155712841253791}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0078125},"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}},"i":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}},"z":{"docs":{},"k":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}},"n":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314},"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"p":{"docs":{},"t":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.005110732538330494}}}},"a":{"docs":{},"l":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}},"p":{"docs":{},"i":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.004044489383215369}},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}},"向":{"docs":{},"外":{"docs":{},"部":{"docs":{},"提":{"docs":{},"供":{"docs":{},"请":{"docs":{},"求":{"docs":{},"服":{"docs":{},"务":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{},"层":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"负":{"docs":{},"责":{"docs":{},"处":{"docs":{},"理":{"docs":{},"前":{"docs":{},"端":{"docs":{},"u":{"docs":{},"i":{"docs":{},"层":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"。":{"docs":{},"该":{"docs":{},"服":{"docs":{},"务":{"docs":{},"统":{"docs":{},"一":{"docs":{},"提":{"docs":{},"供":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},".":{"docs":{},"j":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}},"l":{"docs":{},"i":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}},":":{"1":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}},"docs":{}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"y":{"docs":{},"c":{"docs":{},"l":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"l":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"e":{"docs":{},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"m":{"docs":{},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"z":{"docs":{},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.004044489383215369}},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"=":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}},"l":{"docs":{},"=":{"docs":{},"(":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},")":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"l":{"docs":{},"y":{"docs":{},":":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"l":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}},"v":{"docs":{},"g":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.02912621359223301}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.04854368932038835}}}}}},"y":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.019417475728155338}}}}}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"、":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"y":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"、":{"docs":{},"m":{"docs":{},"y":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"、":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"、":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"、":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"、":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"=":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"/":{"docs":{},"m":{"docs":{},"n":{"docs":{},"t":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.003500583430571762}}}},"i":{"docs":{},"g":{"docs":{"./":{"ref":"./","tf":0.0078125}}},"n":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}},"d":{"docs":{},",":{"docs":{},"v":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627},"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}}}}}}},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841}}},"e":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.003500583430571762}},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}},"c":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.008517887563884156}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}},"p":{"docs":{},"u":{"docs":{"./":{"ref":"./","tf":0.0078125},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.004044489383215369}}}},"\"":{"docs":{},"选":{"docs":{},"项":{"docs":{},"来":{"docs":{},"指":{"docs":{},"定":{"docs":{},"路":{"docs":{},"径":{"docs":{},"。":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}},"+":{"docs":{},"+":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}},"c":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"d":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627}}},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.005055611729019211}}}}},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.005110732538330494}},":":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"_":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"y":{"docs":{},"_":{"docs":{},"s":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206},"architecture-design.html":{"ref":"architecture-design.html","tf":0.011049723756906077},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627}}}},".":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.02912621359223301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627}}}},"o":{"docs":{},"n":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}},"s":{"docs":{},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}},"b":{"docs":{},"o":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"具":{"docs":{},"体":{"docs":{},"查":{"docs":{},"看":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"j":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}},"i":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}},"o":{"docs":{},"n":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.004044489383215369}},"e":{"docs":{},"s":{"docs":{},"配":{"docs":{},"置":{"docs":{},"的":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"/":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"m":{"docs":{},"y":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},".":{"docs":{},"j":{"docs":{},"d":{"docs":{},"b":{"docs":{},"c":{"docs":{},".":{"docs":{},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"f":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.003033367037411527}},"]":{"docs":{},"#":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.008517887563884156}}}},"i":{"docs":{},"g":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"u":{"docs":{},"r":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.011122345803842264}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.005055611729019211}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.01820020222446916}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}},"t":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.011668611435239206}},"。":{"docs":{},"任":{"docs":{},"何":{"docs":{},"一":{"docs":{},"个":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"都":{"docs":{},"要":{"docs":{},"提":{"docs":{},"前":{"docs":{},"申":{"docs":{},"明":{"docs":{},",":{"docs":{},"除":{"docs":{},"了":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"优":{"docs":{},"先":{"docs":{},"使":{"docs":{},"用":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}},"d":{"docs":{},"e":{"docs":{},":":{"0":{"docs":{},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"1":{"0":{"0":{"0":{"0":{"docs":{},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.003500583430571762}}}}},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}},"p":{"docs":{},"i":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}},"r":{"docs":{},"e":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.003033367037411527}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}},"s":{"docs":{},"s":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.003500583430571762}}}}},"d":{"3":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314},"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}},"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"a":{"docs":{},"g":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841},"architecture-design.html":{"ref":"architecture-design.html","tf":0.011049723756906077}},"监":{"docs":{},"控":{"docs":{},"界":{"docs":{},"面":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}},"示":{"docs":{},"例":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}},":":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}},"s":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.0078125}}}},"t":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.0078125},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.004044489383215369}},"(":{"docs":{},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},":":{"docs":{},"{":{"docs":{},"}":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"e":{"docs":{},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"=":{"docs":{},"/":{"docs":{},"t":{"docs":{},"m":{"docs":{},"p":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"=":{"docs":{},"/":{"docs":{},"t":{"docs":{},"m":{"docs":{},"p":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"2":{"docs":{},"h":{"docs":{},"d":{"docs":{},"f":{"docs":{},"s":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"=":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.010111223458038422}}}}}}}}},"o":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"/":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"_":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"配":{"docs":{},"置":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"d":{"docs":{},"a":{"docs":{},"o":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{"./":{"ref":"./","tf":0.015625}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.005110732538330494}},"o":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.0078125},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.003500583430571762}},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.003500583430571762}}}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"y":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.004667444574095682},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.011122345803842264}},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"不":{"docs":{},"用":{"docs":{},"。":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}}},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}},"d":{"docs":{},"处":{"docs":{},"理":{"docs":{},":":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"/":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"/":{"docs":{},"m":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}},"r":{"docs":{},",":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.011122345803842264}}},"y":{"docs":{},".":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}},"w":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"j":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},".":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"j":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{},"p":{"docs":{},"=":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.015625}}},"y":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0078125},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"e":{"docs":{},"r":{"docs":{},"上":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"租":{"docs":{},"户":{"docs":{},"和":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"用":{"docs":{},"户":{"docs":{},"实":{"docs":{},"现":{"docs":{},"多":{"docs":{},"对":{"docs":{},"一":{"docs":{},"或":{"docs":{},"一":{"docs":{},"对":{"docs":{},"一":{"docs":{},"的":{"docs":{},"映":{"docs":{},"射":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"这":{"docs":{},"对":{"docs":{},"大":{"docs":{},"数":{"docs":{},"据":{"docs":{},"作":{"docs":{},"业":{"docs":{},"的":{"docs":{},"调":{"docs":{},"度":{"docs":{},"是":{"docs":{},"非":{"docs":{},"常":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"简":{"docs":{},"介":{"docs":{"./":{"ref":"./","tf":10}}}},"`":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}},"中":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"线":{"docs":{},"程":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"锁":{"docs":{},"实":{"docs":{},"现":{"docs":{},"流":{"docs":{},"程":{"docs":{},"图":{"docs":{},":":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"锁":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"同":{"docs":{},"一":{"docs":{},"时":{"docs":{},"刻":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"台":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"执":{"docs":{},"行":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"台":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"提":{"docs":{},"交":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"去":{"docs":{},"中":{"docs":{},"心":{"docs":{},"化":{"docs":{},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"注":{"docs":{},"册":{"docs":{},"到":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"集":{"docs":{},"群":{"docs":{},"和":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"集":{"docs":{},"群":{"docs":{},"无":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"并":{"docs":{},"使":{"docs":{},"用":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"锁":{"docs":{},"来":{"docs":{},"选":{"docs":{},"举":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"台":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"或":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"为":{"docs":{},"“":{"docs":{},"管":{"docs":{},"理":{"docs":{},"者":{"docs":{},"”":{"docs":{},"来":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"架":{"docs":{},"构":{"docs":{},"原":{"docs":{},"理":{"docs":{},"及":{"docs":{},"实":{"docs":{},"现":{"docs":{},"思":{"docs":{},"路":{"docs":{},"。":{"docs":{},"后":{"docs":{},"续":{"docs":{},"会":{"docs":{},"补":{"docs":{},"充":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.005055611729019211}},"o":{"docs":{},"r":{"docs":{},"水":{"docs":{},"平":{"docs":{},"扩":{"docs":{},"展":{"docs":{"./":{"ref":"./","tf":0.015625}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.006066734074823054}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.007001166861143524},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.008088978766430738}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.011049723756906077}}}}}}},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627}}}}}},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"s":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}},"v":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}},"p":{"docs":{},"e":{"docs":{},"l":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627}},":":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}},"s":{"6":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314},"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}},"docs":{},"a":{"docs":{},"c":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.01314459049544995}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"前":{"docs":{},"端":{"docs":{},"技":{"docs":{},"术":{"docs":{},"栈":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}},"目":{"docs":{},"录":{"docs":{},"并":{"docs":{},"执":{"docs":{},"行":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}},".":{"docs":{},"*":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"=":{"docs":{},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"/":{"docs":{},".":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}},"y":{"docs":{},"=":{"docs":{},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},".":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"=":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.003033367037411527}}}}}}}}}}}}}}}}}},"f":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"/":{"docs":{},"s":{"docs":{},"m":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}},"l":{"docs":{},"s":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.004667444574095682},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}},"i":{"docs":{},"l":{"docs":{},"o":{"docs":{},"v":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}},"r":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.005055611729019211}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}},"e":{"docs":{},"r":{"docs":{},"主":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206},"architecture-design.html":{"ref":"architecture-design.html","tf":0.011049723756906077}}}}}},"n":{"docs":{},"e":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627}}}}},"n":{"docs":{},"t":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841}}}},"o":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.004667444574095682}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.004667444574095682}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"主":{"docs":{},"要":{"docs":{},"负":{"docs":{},"责":{"docs":{},"不":{"docs":{},"断":{"docs":{},"从":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"f":{"docs":{},"s":{"docs":{},"=":{"docs":{},"h":{"docs":{},"d":{"docs":{},"f":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"m":{"docs":{},"y":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"8":{"0":{"2":{"0":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}},"a":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.003033367037411527}},"额":{"docs":{},"外":{"docs":{},"要":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}},",":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"d":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}},"(":{"2":{"docs":{},".":{"7":{"docs":{},".":{"3":{"docs":{},")":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}},"docs":{}}},"docs":{}}},"docs":{}},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"=":{"docs":{},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"t":{"docs":{},"/":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"/":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"/":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"t":{"docs":{},"/":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"\"":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"t":{"docs":{},"/":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.019417475728155338}}}}}},"e":{"docs":{},"l":{"docs":{},"p":{"docs":{},"给":{"docs":{},"出":{"docs":{},"说":{"docs":{},"明":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}},"{":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"r":{"docs":{},"t":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}},"m":{"docs":{},"e":{"docs":{},"}":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"`":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"s":{"docs":{},"c":{"docs":{},"s":{"docs":{},"s":{"docs":{},"`":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}},"`":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},":":{"docs":{},"/":{"docs":{},"/":{"1":{"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"2":{"2":{"0":{"docs":{},".":{"1":{"8":{"1":{"docs":{},":":{"1":{"2":{"3":{"4":{"5":{"docs":{},";":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"2":{"0":{"4":{"docs":{},":":{"1":{"2":{"3":{"4":{"5":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}},":":{"8":{"8":{"8":{"8":{"docs":{},"/":{"docs":{},"#":{"docs":{},"/":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}},")":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"/":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"f":{"docs":{},"l":{"docs":{},"v":{"docs":{},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627}}}}}}}}}}},"g":{"docs":{},"z":{"docs":{},"i":{"docs":{},"p":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.005110732538330494}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"b":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.005110732538330494}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"j":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"/":{"docs":{},"v":{"8":{"docs":{},".":{"9":{"docs":{},".":{"4":{"docs":{},"/":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{},".":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"n":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"l":{"5":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}},"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.004667444574095682}}}}},"u":{"docs":{},"p":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.005110732538330494}}}},"d":{"docs":{},"f":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.004044489383215369}},"s":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"u":{"docs":{},"p":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"=":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"1":{"docs":{},".":{"2":{"docs":{},".":{"1":{"docs":{},")":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}},"docs":{}}},"docs":{}}},"docs":{}},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"t":{"docs":{},"/":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"\"":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"t":{"docs":{},"/":{"docs":{},"h":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}},"i":{"1":{"8":{"docs":{},"n":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"docs":{}},"6":{"8":{"6":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"docs":{}},"docs":{}},"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314},"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}},";":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.018739352640545145},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"l":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.005055611729019211}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.004044489383215369}}}}}},"i":{"docs":{},"t":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.02912621359223301}}}}},"p":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}},"d":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}}}},"l":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.003033367037411527}}}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.003500583430571762},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}},"o":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"请":{"docs":{},"求":{"docs":{},"封":{"docs":{},"装":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"'":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}},".":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.0078125}},",":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"在":{"docs":{},"线":{"docs":{},"查":{"docs":{},"看":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}}}}}}}},",":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},";":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"s":{"docs":{},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}},"t":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.005110732538330494}}}},"k":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.003033367037411527}}}},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314},"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"g":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.011049723756906077}},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.003033367037411527},"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"提":{"docs":{},"供":{"docs":{},"日":{"docs":{},"志":{"docs":{},"分":{"docs":{},"片":{"docs":{},"查":{"docs":{},"看":{"docs":{},"、":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"和":{"docs":{},"下":{"docs":{},"载":{"docs":{},"等":{"docs":{},"功":{"docs":{},"能":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}},";":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.019417475728155338}}}}}}},"s":{"docs":{},"/":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"s":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"x":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627}}}}},"s":{"docs":{},"t":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}},"e":{"docs":{},"n":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627}}}}}},"b":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}},".":{"docs":{},"j":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}},"l":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"n":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"r":{"docs":{},"w":{"docs":{},"x":{"docs":{},"r":{"docs":{},"w":{"docs":{},"x":{"docs":{},"r":{"docs":{},"w":{"docs":{},"x":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}}},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}},"m":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.0078125}}}},"t":{"docs":{},"a":{"docs":{},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}},"s":{"docs":{},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}},"y":{"docs":{},",":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}}}},"r":{"docs":{},"、":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"、":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"(":{"docs":{},"m":{"docs":{},"y":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"、":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"、":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"、":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},")":{"docs":{},"、":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"、":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},";":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}},"l":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"d":{"docs":{},"=":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"=":{"docs":{},"s":{"docs":{},"m":{"docs":{},"t":{"docs":{},"p":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"=":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"=":{"docs":{},"s":{"docs":{},"m":{"docs":{},"t":{"docs":{},"p":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},".":{"docs":{},"q":{"docs":{},"q":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"=":{"2":{"5":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.005055611729019211}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314},"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206},"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.010111223458038422}},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"负":{"docs":{},"责":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"任":{"docs":{},"务":{"docs":{},"切":{"docs":{},"分":{"docs":{},"、":{"docs":{},"任":{"docs":{},"务":{"docs":{},"提":{"docs":{},"交":{"docs":{},"监":{"docs":{},"控":{"docs":{},"、":{"docs":{},"各":{"docs":{},"种":{"docs":{},"不":{"docs":{},"同":{"docs":{},"命":{"docs":{},"令":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"处":{"docs":{},"理":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"扫":{"docs":{},"描":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"定":{"docs":{},"时":{"docs":{},"扫":{"docs":{},"描":{"docs":{},"数":{"docs":{},"据":{"docs":{},"库":{"docs":{},"中":{"docs":{},"的":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}},"e":{"docs":{},"r":{"docs":{},"服":{"docs":{},"务":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"向":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"注":{"docs":{},"册":{"docs":{},"临":{"docs":{},"时":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"监":{"docs":{},"听":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"临":{"docs":{},"时":{"docs":{},"节":{"docs":{},"点":{"docs":{},"变":{"docs":{},"化":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"容":{"docs":{},"错":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"采":{"docs":{},"用":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"无":{"docs":{},"中":{"docs":{},"心":{"docs":{},"设":{"docs":{},"计":{"docs":{},"理":{"docs":{},"念":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"主":{"docs":{},"要":{"docs":{},"负":{"docs":{},"责":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"主":{"docs":{},"要":{"docs":{},"负":{"docs":{},"责":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"持":{"docs":{},"久":{"docs":{},"化":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}},"容":{"docs":{},"错":{"docs":{},"完":{"docs":{},"成":{"docs":{},"之":{"docs":{},"后":{"docs":{},"则":{"docs":{},"重":{"docs":{},"新":{"docs":{},"由":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"线":{"docs":{},"程":{"docs":{},"调":{"docs":{},"度":{"docs":{},",":{"docs":{},"遍":{"docs":{},"历":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"流":{"docs":{},"程":{"docs":{},"图":{"docs":{},":":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}},"的":{"docs":{},"角":{"docs":{},"色":{"docs":{},"主":{"docs":{},"要":{"docs":{},"负":{"docs":{},"责":{"docs":{},"任":{"docs":{},"务":{"docs":{},"分":{"docs":{},"发":{"docs":{},"并":{"docs":{},"监":{"docs":{},"督":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"的":{"docs":{},"健":{"docs":{},"康":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"动":{"docs":{},"态":{"docs":{},"的":{"docs":{},"将":{"docs":{},"任":{"docs":{},"务":{"docs":{},"均":{"docs":{},"衡":{"docs":{},"到":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"上":{"docs":{},",":{"docs":{},"以":{"docs":{},"致":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"节":{"docs":{},"点":{"docs":{},"不":{"docs":{},"至":{"docs":{},"于":{"docs":{},"“":{"docs":{},"忙":{"docs":{},"死":{"docs":{},"”":{"docs":{},"或":{"docs":{},"”":{"docs":{},"闲":{"docs":{},"死":{"docs":{},"”":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},".":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"=":{"2":{"0":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}},"docs":{}}}}}}}}}}}},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"s":{"docs":{},"=":{"1":{"0":{"0":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"=":{"1":{"0":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},".":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},".":{"docs":{},"a":{"docs":{},"v":{"docs":{},"g":{"docs":{},"=":{"1":{"0":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"=":{"1":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"=":{"1":{"0":{"0":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"=":{"5":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}},"p":{"docs":{},"(":{"docs":{},"[":{"docs":{},"]":{"docs":{},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"z":{"docs":{},"e":{"docs":{},"y":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}},"x":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},",":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}},"k":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}}}}}}}}}}}}}},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841}}}}},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},",":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.003033367037411527}},"s":{"docs":{},".":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}},"n":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"g":{"docs":{},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"'":{"docs":{},"失":{"docs":{},"败":{"docs":{},"'":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}},"成":{"docs":{},"功":{"docs":{},"'":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"v":{"docs":{},"v":{"docs":{},"m":{"docs":{},"框":{"docs":{},"架":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"n":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}},"y":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}},"d":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.003033367037411527}},">":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.004044489383215369}}}}}}}},"r":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627}},")":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"e":{"docs":{},"(":{"docs":{},"{":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},")":{"docs":{},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"e":{"docs":{},".":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},".":{"docs":{},"s":{"docs":{},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},"s":{"docs":{},"=":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},",":{"docs":{},"s":{"docs":{},"h":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},",":{"docs":{},"c":{"docs":{},"f":{"docs":{},"g":{"docs":{},",":{"docs":{},"p":{"docs":{},"y":{"docs":{},",":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},",":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},",":{"docs":{},"h":{"docs":{},"q":{"docs":{},"l":{"docs":{},",":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}},"a":{"docs":{},"l":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"d":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.005055611729019211}}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"=":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"o":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},")":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"e":{"docs":{},"(":{"docs":{},"[":{"docs":{},"'":{"docs":{},".":{"docs":{},".":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"'":{"docs":{},"]":{"docs":{},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.010501750291715286},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}},"r":{"docs":{},"i":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}},";":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0068143100511073255},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"@":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}},"安":{"docs":{},"装":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"u":{"docs":{},"n":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627},"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423},"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}},"s":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.010221465076660987}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.015625},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"e":{"docs":{},"r":{"docs":{},"线":{"docs":{},"程":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"发":{"docs":{},"现":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"为":{"docs":{},"”":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}},"在":{"docs":{},"获":{"docs":{},"取":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"是":{"docs":{},"f":{"docs":{},"i":{"docs":{},"f":{"docs":{},"o":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}}},"h":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.011122345803842264}},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"、":{"docs":{},"g":{"docs":{},"o":{"docs":{},"b":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"、":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"、":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"、":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"、":{"docs":{},"p":{"docs":{},"i":{"docs":{},"g":{"docs":{},"、":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"、":{"docs":{},"h":{"docs":{},"d":{"docs":{},"f":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"、":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"h":{"docs":{},"d":{"docs":{},"f":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"任":{"docs":{},"务":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.019417475728155338}},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},":":{"docs":{},":":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"(":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"b":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0078125},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"2":{"docs":{},"等":{"docs":{},"待":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"3":{"docs":{},"结":{"docs":{},"束":{"docs":{},",":{"docs":{},"而":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"3":{"docs":{},"等":{"docs":{},"待":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"有":{"docs":{},"新":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"则":{"docs":{},"整":{"docs":{},"个":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"流":{"docs":{},"程":{"docs":{},"不":{"docs":{},"能":{"docs":{},"结":{"docs":{},"束":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"也":{"docs":{},"不":{"docs":{},"能":{"docs":{},"释":{"docs":{},"放":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"就":{"docs":{},"形":{"docs":{},"成":{"docs":{},"的":{"docs":{},"子":{"docs":{},"父":{"docs":{},"流":{"docs":{},"程":{"docs":{},"循":{"docs":{},"环":{"docs":{},"等":{"docs":{},"待":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"除":{"docs":{},"非":{"docs":{},"启":{"docs":{},"动":{"docs":{},"新":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"增":{"docs":{},"加":{"docs":{},"线":{"docs":{},"程":{"docs":{},"来":{"docs":{},"打":{"docs":{},"破":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"”":{"docs":{},"僵":{"docs":{},"局":{"docs":{},"”":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"调":{"docs":{},"度":{"docs":{},"集":{"docs":{},"群":{"docs":{},"将":{"docs":{},"不":{"docs":{},"能":{"docs":{},"再":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}},"d":{"docs":{},"o":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}},"r":{"docs":{},"e":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.005055611729019211}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},",":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627},"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"依":{"docs":{},"赖":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}},"文":{"docs":{},"件":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0068143100511073255},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.019211324570273004}},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.005055611729019211}}}}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"=":{"1":{"2":{"3":{"4":{"5":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"=":{"7":{"2":{"0":{"0":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"e":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}},"x":{"docs":{},"}":{"docs":{},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}},"f":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.005055611729019211}}}},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.006066734074823054}},")":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}},"u":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"e":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"?":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}},"o":{"docs":{},"p":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.005055611729019211}},")":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}},"r":{"docs":{},"e":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841}}}}}}},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"y":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"x":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"c":{"docs":{},"t":{"docs":{},"l":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0068143100511073255}}}}}}}}}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}},"=":{"1":{"0":{"2":{"4":{"docs":{},"m":{"docs":{},"b":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}},"docs":{}},"docs":{}},"docs":{}},"5":{"0":{"0":{"0":{"0":{"0":{"0":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.003033367037411527}}}}},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},";":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}},"r":{"docs":{},"c":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.009334889148191364}},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"/":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"e":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"/":{"docs":{},"_":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"j":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.003500583430571762}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},".":{"docs":{},"j":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"/":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"/":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"j":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"j":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"j":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"j":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"/":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"j":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"j":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"e":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"项":{"docs":{},"目":{"docs":{},"内":{"docs":{},"部":{"docs":{},"公":{"docs":{},"共":{"docs":{},"组":{"docs":{},"件":{"docs":{},"书":{"docs":{},"写":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"名":{"docs":{},"与":{"docs":{},"文":{"docs":{},"件":{"docs":{},"名":{"docs":{},"同":{"docs":{},"名":{"docs":{},",":{"docs":{},"公":{"docs":{},"共":{"docs":{},"组":{"docs":{},"件":{"docs":{},"内":{"docs":{},"部":{"docs":{},"所":{"docs":{},"拆":{"docs":{},"分":{"docs":{},"的":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"与":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"工":{"docs":{},"具":{"docs":{},"都":{"docs":{},"放":{"docs":{},"置":{"docs":{},"组":{"docs":{},"件":{"docs":{},"内":{"docs":{},"部":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"c":{"docs":{},"s":{"docs":{},"s":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"(":{"1":{"docs":{},".":{"docs":{},"x":{"docs":{},",":{"2":{"docs":{},".":{"docs":{},"x":{"docs":{},")":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}},"docs":{}}}}},"docs":{}},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"1":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"1":{"docs":{},"\"":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}},"docs":{}}}}}}}}}}}}}}}}},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"1":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}}}}}}}}}}}}}}}}}},"2":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"2":{"docs":{},"\"":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}},"docs":{}}}}}}}}}}}}}}}}},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"2":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"=":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"=":{"5":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"=":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"=":{"5":{"0":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}},"docs":{}}}}}}}},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"=":{"2":{"0":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"=":{"6":{"0":{"0":{"0":{"0":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"=":{"3":{"0":{"0":{"0":{"0":{"0":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"=":{"5":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"=":{"docs":{},"x":{"docs":{},"x":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"=":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"o":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"=":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}},"w":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"=":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"b":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"=":{"6":{"0":{"0":{"0":{"0":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"s":{"docs":{},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"=":{"6":{"0":{"0":{"0":{"0":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"=":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},".":{"docs":{},"d":{"docs":{},"r":{"docs":{},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{},".":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},".":{"docs":{},"d":{"docs":{},"r":{"docs":{},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"=":{"docs":{},"j":{"docs":{},"d":{"docs":{},"b":{"docs":{},"c":{"docs":{},":":{"docs":{},"m":{"docs":{},"y":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},":":{"3":{"3":{"0":{"6":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"?":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"=":{"docs":{},"u":{"docs":{},"t":{"docs":{},"f":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"=":{"docs":{},"x":{"docs":{},"x":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"=":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"=":{"3":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},".":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"l":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.003033367037411527}},"任":{"docs":{},"务":{"docs":{},"和":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}},"t":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.0078125}}}},"r":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.005055611729019211}}}}}}}}}}}}}}},"s":{"docs":{},"k":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.016574585635359115},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.004044489383215369}},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}},"e":{"docs":{},"r":{"docs":{},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.02912621359223301}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},"和":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},":":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"$":{"docs":{},"e":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{},"o":{"docs":{},"n":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"`":{"docs":{},"$":{"docs":{},"{":{"docs":{},"i":{"1":{"8":{"docs":{},"n":{"docs":{},".":{"docs":{},"$":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{},"请":{"docs":{},"输":{"docs":{},"入":{"docs":{},"方":{"docs":{},"法":{"docs":{},"'":{"docs":{},")":{"docs":{},"}":{"docs":{},"`":{"docs":{},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"d":{"docs":{},"a":{"docs":{},"o":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.003033367037411527}},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.0078125},"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.004667444574095682}}}}}},"\"":{"docs":{},"选":{"docs":{},"项":{"docs":{},"用":{"docs":{},"来":{"docs":{},"对":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"进":{"docs":{},"行":{"docs":{},"检":{"docs":{},"查":{"docs":{},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"找":{"docs":{},"出":{"docs":{},"不":{"docs":{},"当":{"docs":{},"或":{"docs":{},"错":{"docs":{},"误":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"。":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"默":{"docs":{},"认":{"docs":{},"位":{"docs":{},"于":{"docs":{},"安":{"docs":{},"装":{"docs":{},"目":{"docs":{},"录":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"r":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"/":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},"。":{"docs":{},"若":{"docs":{},"要":{"docs":{},"检":{"docs":{},"查":{"docs":{},"位":{"docs":{},"于":{"docs":{},"其":{"docs":{},"他":{"docs":{},"位":{"docs":{},"置":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"可":{"docs":{},"使":{"docs":{},"用":{"docs":{},"\"":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"p":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314},"frontend-development.html":{"ref":"frontend-development.html","tf":0.003500583430571762}},".":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"r":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"o":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},",":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},",":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}},"w":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}},"x":{"docs":{},"t":{"docs":{},"/":{"docs":{},"c":{"docs":{},"s":{"docs":{},"s":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"e":{"docs":{},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"m":{"docs":{},"e":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.006066734074823054}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},",":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"_":{"docs":{},"$":{"docs":{},"{":{"docs":{},"后":{"docs":{},"台":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"英":{"docs":{},"文":{"docs":{},"名":{"docs":{},"称":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}},"e":{"docs":{},"v":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"o":{"docs":{},"p":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.003500583430571762}}}}}}}},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"和":{"docs":{},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841}}}}}}}}}},"u":{"docs":{},"e":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.003033367037411527}},".":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}},"w":{"docs":{},"a":{"docs":{},"y":{"docs":{"./":{"ref":"./","tf":0.0078125}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"i":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}},"b":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0078125},"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.008088978766430738}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}},"e":{"docs":{},"r":{"docs":{},"也":{"docs":{},"采":{"docs":{},"用":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"无":{"docs":{},"中":{"docs":{},"心":{"docs":{},"设":{"docs":{},"计":{"docs":{},"理":{"docs":{},"念":{"docs":{},",":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"主":{"docs":{},"要":{"docs":{},"负":{"docs":{},"责":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"和":{"docs":{},"提":{"docs":{},"供":{"docs":{},"日":{"docs":{},"志":{"docs":{},"服":{"docs":{},"务":{"docs":{},"。":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"服":{"docs":{},"务":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"向":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"注":{"docs":{},"册":{"docs":{},"临":{"docs":{},"时":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"并":{"docs":{},"维":{"docs":{},"持":{"docs":{},"心":{"docs":{},"跳":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"容":{"docs":{},"错":{"docs":{},"流":{"docs":{},"程":{"docs":{},"图":{"docs":{},":":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}},"的":{"docs":{},"角":{"docs":{},"色":{"docs":{},"主":{"docs":{},"要":{"docs":{},"负":{"docs":{},"责":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"工":{"docs":{},"作":{"docs":{},"并":{"docs":{},"维":{"docs":{},"护":{"docs":{},"和":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"心":{"docs":{},"跳":{"docs":{},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"可":{"docs":{},"以":{"docs":{},"分":{"docs":{},"配":{"docs":{},"任":{"docs":{},"务":{"docs":{},"给":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"s":{"docs":{},"=":{"1":{"0":{"0":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"f":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},".":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"=":{"1":{"0":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},".":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},".":{"docs":{},"a":{"docs":{},"v":{"docs":{},"g":{"docs":{},"=":{"1":{"0":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"=":{"1":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}},".":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.005055611729019211}}}}}},"h":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.004044489383215369}}}}}}}},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.005055611729019211}}}}}}},"x":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627}},"x":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}},"x":{"docs":{"./":{"ref":"./","tf":0.0078125}}}},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"i":{"docs":{},"p":{"docs":{},"p":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}},"f":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"l":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"=":{"docs":{},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"/":{"docs":{},"x":{"docs":{},"l":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}},"{":{"docs":{"./":{"ref":"./","tf":0.0078125},"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0068143100511073255},"frontend-development.html":{"ref":"frontend-development.html","tf":0.043173862310385065},"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}},".":{"docs":{},".":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}},"a":{"docs":{},":":{"1":{"docs":{},"}":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.003500583430571762}}}},"b":{"docs":{},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"{":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.003500583430571762}}},"}":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841}},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.005834305717619603}}}},"d":{"docs":{},"b":{"docs":{},"}":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"}":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"x":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"}":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"}":{"docs":{},"/":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"/":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}}}}}},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"和":{"docs":{},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"z":{"docs":{},".":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"}":{"docs":{"./":{"ref":"./","tf":0.0078125},"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0068143100511073255},"frontend-development.html":{"ref":"frontend-development.html","tf":0.026837806301050177},"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.004667444574095682}}},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.014002333722287048}}},"}":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.003500583430571762}}}},"一":{"docs":{},"个":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"易":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"的":{"docs":{},"可":{"docs":{},"视":{"docs":{},"化":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"工":{"docs":{},"作":{"docs":{},"流":{"docs":{},"任":{"docs":{},"务":{"docs":{},"调":{"docs":{},"度":{"docs":{},"系":{"docs":{},"统":{"docs":{},"。":{"docs":{},"致":{"docs":{},"力":{"docs":{},"于":{"docs":{},"解":{"docs":{},"决":{"docs":{},"数":{"docs":{},"据":{"docs":{},"处":{"docs":{},"理":{"docs":{},"流":{"docs":{},"程":{"docs":{},"中":{"docs":{},"错":{"docs":{},"综":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"使":{"docs":{},"调":{"docs":{},"度":{"docs":{},"系":{"docs":{},"统":{"docs":{},"在":{"docs":{},"数":{"docs":{},"据":{"docs":{},"处":{"docs":{},"理":{"docs":{},"流":{"docs":{},"程":{"docs":{},"中":{"docs":{},"开":{"docs":{},"箱":{"docs":{},"即":{"docs":{},"用":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"页":{"docs":{},"面":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"文":{"docs":{},"件":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"文":{"docs":{},"件":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}},"键":{"docs":{},"部":{"docs":{},"署":{"docs":{"./":{"ref":"./","tf":0.0078125},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"脚":{"docs":{},"本":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}},"、":{"docs":{},"去":{"docs":{},"中":{"docs":{},"心":{"docs":{},"化":{"docs":{},"v":{"docs":{},"s":{"docs":{},"中":{"docs":{},"心":{"docs":{},"化":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}},"旦":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"出":{"docs":{},"现":{"docs":{},"了":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"则":{"docs":{},"群":{"docs":{},"龙":{"docs":{},"无":{"docs":{},"首":{"docs":{},",":{"docs":{},"整":{"docs":{},"个":{"docs":{},"集":{"docs":{},"群":{"docs":{},"就":{"docs":{},"会":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"解":{"docs":{},"决":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"架":{"docs":{},"构":{"docs":{},"模":{"docs":{},"式":{"docs":{},"都":{"docs":{},"采":{"docs":{},"用":{"docs":{},"了":{"docs":{},"主":{"docs":{},"备":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},"方":{"docs":{},"案":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"热":{"docs":{},"备":{"docs":{},"或":{"docs":{},"者":{"docs":{},"冷":{"docs":{},"备":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"自":{"docs":{},"动":{"docs":{},"切":{"docs":{},"换":{"docs":{},"或":{"docs":{},"手":{"docs":{},"动":{"docs":{},"切":{"docs":{},"换":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"越":{"docs":{},"来":{"docs":{},"越":{"docs":{},"多":{"docs":{},"的":{"docs":{},"新":{"docs":{},"系":{"docs":{},"统":{"docs":{},"都":{"docs":{},"开":{"docs":{},"始":{"docs":{},"具":{"docs":{},"备":{"docs":{},"自":{"docs":{},"动":{"docs":{},"选":{"docs":{},"举":{"docs":{},"切":{"docs":{},"换":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"能":{"docs":{},"力":{"docs":{},",":{"docs":{},"以":{"docs":{},"提":{"docs":{},"升":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"可":{"docs":{},"用":{"docs":{},"性":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"种":{"docs":{},"是":{"docs":{},"业":{"docs":{},"务":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"节":{"docs":{},"点":{"docs":{},"都":{"docs":{},"对":{"docs":{},"应":{"docs":{},"一":{"docs":{},"个":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"或":{"docs":{},"者":{"docs":{},"处":{"docs":{},"理":{"docs":{},"语":{"docs":{},"句":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"m":{"docs":{},"r":{"docs":{},"节":{"docs":{},"点":{"docs":{},"、":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"节":{"docs":{},"点":{"docs":{},"、":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"节":{"docs":{},"点":{"docs":{},"等":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"行":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}},"不":{"docs":{},"能":{"docs":{},"直":{"docs":{},"观":{"docs":{},"区":{"docs":{},"分":{"docs":{},"任":{"docs":{},"务":{"docs":{},"类":{"docs":{},"型":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"(":{"docs":{},"本":{"docs":{},"身":{"docs":{},"就":{"docs":{},"支":{"docs":{},"持":{"docs":{},"h":{"docs":{},"a":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}}}}},"与":{"docs":{},"同":{"docs":{},"类":{"docs":{},"调":{"docs":{},"度":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"对":{"docs":{},"比":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"的":{"docs":{},"主":{"docs":{},"程":{"docs":{},"序":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"d":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"的":{"docs":{},"主":{"docs":{},"程":{"docs":{},"序":{"docs":{},"也":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"\"":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"图":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"将":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"按":{"docs":{},"照":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{},"关":{"docs":{},"联":{"docs":{},"起":{"docs":{},"来":{"docs":{},",":{"docs":{},"可":{"docs":{},"实":{"docs":{},"时":{"docs":{},"可":{"docs":{},"视":{"docs":{},"化":{"docs":{},"监":{"docs":{},"控":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"运":{"docs":{},"行":{"docs":{},"状":{"docs":{},"态":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"i":{"docs":{},"d":{"docs":{},"/":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"i":{"docs":{},"d":{"docs":{},"/":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"i":{"docs":{},"d":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"生":{"docs":{},"成":{"docs":{},"日":{"docs":{},"志":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"任":{"docs":{},"务":{"docs":{},"太":{"docs":{},"多":{"docs":{},"时":{"docs":{},"会":{"docs":{},"卡":{"docs":{},"死":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"./":{"ref":"./","tf":0.015625}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"、":{"docs":{},"任":{"docs":{},"务":{"docs":{},"类":{"docs":{},"型":{"docs":{},"、":{"docs":{},"重":{"docs":{},"试":{"docs":{},"次":{"docs":{},"数":{"docs":{},"、":{"docs":{},"任":{"docs":{},"务":{"docs":{},"运":{"docs":{},"行":{"docs":{},"机":{"docs":{},"器":{"docs":{},"、":{"docs":{},"可":{"docs":{},"视":{"docs":{},"化":{"docs":{},"变":{"docs":{},"量":{"docs":{},"等":{"docs":{},"关":{"docs":{},"键":{"docs":{},"信":{"docs":{},"息":{"docs":{},"一":{"docs":{},"目":{"docs":{},"了":{"docs":{},"然":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{"./":{"ref":"./","tf":0.0078125}}}},"队":{"docs":{},"列":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"单":{"docs":{},"个":{"docs":{},"机":{"docs":{},"器":{"docs":{},"上":{"docs":{},"可":{"docs":{},"调":{"docs":{},"度":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"数":{"docs":{},"量":{"docs":{},"可":{"docs":{},"以":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"当":{"docs":{},"任":{"docs":{},"务":{"docs":{},"过":{"docs":{},"多":{"docs":{},"时":{"docs":{},"会":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"在":{"docs":{},"任":{"docs":{},"务":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"造":{"docs":{},"成":{"docs":{},"机":{"docs":{},"器":{"docs":{},"卡":{"docs":{},"死":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"例":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"切":{"docs":{},"分":{"docs":{},"、":{"docs":{},"任":{"docs":{},"务":{"docs":{},"提":{"docs":{},"交":{"docs":{},"监":{"docs":{},"控":{"docs":{},",":{"docs":{},"并":{"docs":{},"同":{"docs":{},"时":{"docs":{},"监":{"docs":{},"听":{"docs":{},"其":{"docs":{},"它":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"健":{"docs":{},"康":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"失":{"docs":{},"败":{"docs":{},"重":{"docs":{},"试":{"docs":{},"是":{"docs":{},"任":{"docs":{},"务":{"docs":{},"级":{"docs":{},"别":{"docs":{},"的":{"docs":{},",":{"docs":{},"是":{"docs":{},"调":{"docs":{},"度":{"docs":{},"系":{"docs":{},"统":{"docs":{},"自":{"docs":{},"动":{"docs":{},"进":{"docs":{},"行":{"docs":{},"的":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"任":{"docs":{},"务":{"docs":{},"设":{"docs":{},"置":{"docs":{},"重":{"docs":{},"试":{"docs":{},"次":{"docs":{},"数":{"docs":{},"为":{"3":{"docs":{},"次":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"在":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"任":{"docs":{},"务":{"docs":{},"运":{"docs":{},"行":{"docs":{},"失":{"docs":{},"败":{"docs":{},"后":{"docs":{},"会":{"docs":{},"自":{"docs":{},"己":{"docs":{},"再":{"docs":{},"最":{"docs":{},"多":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"运":{"docs":{},"行":{"3":{"docs":{},"次":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"也":{"docs":{},"分":{"docs":{},"为":{"5":{"docs":{},"级":{"docs":{},",":{"docs":{},"依":{"docs":{},"次":{"docs":{},"为":{"docs":{},"h":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"、":{"docs":{},"h":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"、":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"m":{"docs":{},"、":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"、":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"。":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}},"插":{"docs":{},"件":{"docs":{},"开":{"docs":{},"发":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}},"使":{"docs":{},"用":{"docs":{},"手":{"docs":{},"册":{"docs":{"./":{"ref":"./","tf":0.0078125}}}},"部":{"docs":{},"署":{"docs":{},"用":{"docs":{},"户":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}},"其":{"docs":{},"主":{"docs":{},"要":{"docs":{},"目":{"docs":{},"标":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}},"中":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"监":{"docs":{},"控":{"docs":{},"其":{"docs":{},"他":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"监":{"docs":{},"听":{"docs":{},"到":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"进":{"docs":{},"行":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"容":{"docs":{},"错":{"docs":{},"或":{"docs":{},"者":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"容":{"docs":{},"错":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"是":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"到":{"docs":{},"有":{"docs":{},"些":{"docs":{},"流":{"docs":{},"程":{"docs":{},"需":{"docs":{},"要":{"docs":{},"先":{"docs":{},"于":{"docs":{},"其":{"docs":{},"他":{"docs":{},"流":{"docs":{},"程":{"docs":{},"进":{"docs":{},"行":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"流":{"docs":{},"程":{"docs":{},"启":{"docs":{},"动":{"docs":{},"或":{"docs":{},"者":{"docs":{},"定":{"docs":{},"时":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"共":{"docs":{},"有":{"5":{"docs":{},"级":{"docs":{},",":{"docs":{},"依":{"docs":{},"次":{"docs":{},"为":{"docs":{},"h":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"、":{"docs":{},"h":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"、":{"docs":{},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"m":{"docs":{},"、":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"、":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"。":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"前":{"docs":{},"端":{"docs":{},"部":{"docs":{},"署":{"docs":{},"文":{"docs":{},"档":{"docs":{"./":{"ref":"./","tf":0.0078125},"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}},"代":{"docs":{},"理":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"地":{"docs":{},"址":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}},"在":{"docs":{},"开":{"docs":{},"发":{"docs":{},"环":{"docs":{},"境":{"docs":{},"(":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},")":{"docs":{},"中":{"docs":{},"运":{"docs":{},"行":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"发":{"docs":{},"布":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}},"构":{"docs":{},"建":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}},"环":{"docs":{},"境":{"docs":{},"构":{"docs":{},"建":{"docs":{},"及":{"docs":{},"编":{"docs":{},"译":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"i":{"docs":{},"d":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"开":{"docs":{},"发":{"docs":{},"文":{"docs":{},"档":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"用":{"docs":{},"作":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"值":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}},"功":{"docs":{},"能":{"docs":{"./":{"ref":"./","tf":0.0078125}}}},"单":{"docs":{},"一":{"docs":{},"调":{"docs":{},"度":{"docs":{},"程":{"docs":{},"序":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}},"个":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"和":{"docs":{},"调":{"docs":{},"度":{"docs":{},"程":{"docs":{},"序":{"docs":{},"组":{"docs":{},"合":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}}}},"点":{"docs":{},"故":{"docs":{},"障":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}},"去":{"docs":{},"中":{"docs":{},"心":{"docs":{},"化":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}},"的":{"docs":{},"多":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"多":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}}}}}}},"设":{"docs":{},"计":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"设":{"docs":{},"计":{"docs":{},"在":{"docs":{},"于":{"docs":{},"整":{"docs":{},"个":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"区":{"docs":{},"别":{"docs":{},"于":{"docs":{},"其":{"docs":{},"他":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"”":{"docs":{},"管":{"docs":{},"理":{"docs":{},"者":{"docs":{},"”":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"单":{"docs":{},"点":{"docs":{},"故":{"docs":{},"障":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"但":{"docs":{},"由":{"docs":{},"于":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"”":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"docs":{},"能":{"docs":{},"看":{"docs":{},"到":{"docs":{},"任":{"docs":{},"务":{"docs":{},"状":{"docs":{},"态":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}},"可":{"docs":{},"视":{"docs":{},"化":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}},"库":{"docs":{},"图":{"docs":{},"表":{"docs":{},"库":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}},"以":{"docs":{},"转":{"docs":{},"淘":{"docs":{},"宝":{"docs":{},"镜":{"docs":{},"像":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"输":{"docs":{},"入":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}},"后":{"docs":{},"端":{"docs":{},"部":{"docs":{},"署":{"docs":{},"文":{"docs":{},"档":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}},"台":{"docs":{},"定":{"docs":{},"义":{"docs":{},"节":{"docs":{},"点":{"docs":{},"类":{"docs":{},"型":{"docs":{},"英":{"docs":{},"文":{"docs":{},"名":{"docs":{},"称":{"docs":{},"用":{"docs":{},"作":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"值":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}},"续":{"docs":{},"用":{"docs":{},"作":{"docs":{},"排":{"docs":{},"序":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}},"否":{"docs":{"./":{"ref":"./","tf":0.046875}}},"契":{"docs":{},"合":{"docs":{},"度":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}},"实":{"docs":{},"现":{"docs":{},"集":{"docs":{},"群":{"docs":{},"h":{"docs":{},"a":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"实":{"docs":{},"现":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"集":{"docs":{},"群":{"docs":{},"和":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"集":{"docs":{},"群":{"docs":{},"去":{"docs":{},"中":{"docs":{},"心":{"docs":{},"化":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"工":{"docs":{},"具":{"docs":{},"库":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"际":{"docs":{},"上":{"docs":{},",":{"docs":{},"真":{"docs":{},"正":{"docs":{},"去":{"docs":{},"中":{"docs":{},"心":{"docs":{},"化":{"docs":{},"的":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"系":{"docs":{},"统":{"docs":{},"并":{"docs":{},"不":{"docs":{},"多":{"docs":{},"见":{"docs":{},"。":{"docs":{},"反":{"docs":{},"而":{"docs":{},"动":{"docs":{},"态":{"docs":{},"中":{"docs":{},"心":{"docs":{},"化":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"系":{"docs":{},"统":{"docs":{},"正":{"docs":{},"在":{"docs":{},"不":{"docs":{},"断":{"docs":{},"涌":{"docs":{},"出":{"docs":{},"。":{"docs":{},"在":{"docs":{},"这":{"docs":{},"种":{"docs":{},"架":{"docs":{},"构":{"docs":{},"下":{"docs":{},",":{"docs":{},"集":{"docs":{},"群":{"docs":{},"中":{"docs":{},"的":{"docs":{},"管":{"docs":{},"理":{"docs":{},"者":{"docs":{},"是":{"docs":{},"被":{"docs":{},"动":{"docs":{},"态":{"docs":{},"选":{"docs":{},"择":{"docs":{},"出":{"docs":{},"来":{"docs":{},"的":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"预":{"docs":{},"置":{"docs":{},"的":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"集":{"docs":{},"群":{"docs":{},"在":{"docs":{},"发":{"docs":{},"生":{"docs":{},"故":{"docs":{},"障":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"集":{"docs":{},"群":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"会":{"docs":{},"自":{"docs":{},"发":{"docs":{},"的":{"docs":{},"举":{"docs":{},"行":{"docs":{},"\"":{"docs":{},"会":{"docs":{},"议":{"docs":{},"\"":{"docs":{},"来":{"docs":{},"选":{"docs":{},"举":{"docs":{},"新":{"docs":{},"的":{"docs":{},"\"":{"docs":{},"管":{"docs":{},"理":{"docs":{},"者":{"docs":{},"\"":{"docs":{},"去":{"docs":{},"主":{"docs":{},"持":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{},"最":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{},"案":{"docs":{},"例":{"docs":{},"就":{"docs":{},"是":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"及":{"docs":{},"g":{"docs":{},"o":{"docs":{},"语":{"docs":{},"言":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"d":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"帮":{"docs":{},"助":{"docs":{"./":{"ref":"./","tf":0.0078125}}}},"快":{"docs":{},"速":{"docs":{},"部":{"docs":{},"署":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}},"所":{"docs":{},"有":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"操":{"docs":{},"作":{"docs":{},"都":{"docs":{},"是":{"docs":{},"可":{"docs":{},"视":{"docs":{},"化":{"docs":{},"的":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"拖":{"docs":{},"拽":{"docs":{},"任":{"docs":{},"务":{"docs":{},"来":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"及":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{},"同":{"docs":{},"时":{"docs":{},"对":{"docs":{},"于":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"提":{"docs":{},"供":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"方":{"docs":{},"式":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"都":{"docs":{},"以":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"页":{"docs":{},"面":{"docs":{},"入":{"docs":{},"口":{"docs":{},"文":{"docs":{},"件":{"docs":{},"在":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}},"扩":{"docs":{},"展":{"docs":{},"性":{"docs":{"./":{"ref":"./","tf":0.0078125}}},"开":{"docs":{},"发":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"支":{"docs":{},"持":{"docs":{"./":{"ref":"./","tf":0.0078125}},"丰":{"docs":{},"富":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"类":{"docs":{},"型":{"docs":{},":":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"、":{"docs":{},"m":{"docs":{},"r":{"docs":{},"、":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"、":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"(":{"docs":{},"m":{"docs":{},"y":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"、":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"、":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"、":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},")":{"docs":{},",":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"、":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"等":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"任":{"docs":{},"务":{"docs":{},"日":{"docs":{},"志":{"docs":{},"在":{"docs":{},"线":{"docs":{},"查":{"docs":{},"看":{"docs":{},"及":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"、":{"docs":{},"在":{"docs":{},"线":{"docs":{},"下":{"docs":{},"载":{"docs":{},"日":{"docs":{},"志":{"docs":{},"等":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}}}}}}}}}}}},"传":{"docs":{},"统":{"docs":{},"的":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"支":{"docs":{},"持":{"docs":{},"大":{"docs":{},"数":{"docs":{},"据":{"docs":{},"平":{"docs":{},"台":{"docs":{},"任":{"docs":{},"务":{"docs":{},"调":{"docs":{},"度":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}},"多":{"docs":{},"租":{"docs":{},"户":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}},"大":{"docs":{},"数":{"docs":{},"据":{"docs":{},"作":{"docs":{},"业":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},",":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},",":{"docs":{},"m":{"docs":{},"r":{"docs":{},"的":{"docs":{},"调":{"docs":{},"度":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"由":{"docs":{},"于":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"租":{"docs":{},"户":{"docs":{},",":{"docs":{},"与":{"docs":{},"大":{"docs":{},"数":{"docs":{},"据":{"docs":{},"业":{"docs":{},"务":{"docs":{},"更":{"docs":{},"加":{"docs":{},"契":{"docs":{},"合":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}}}}},"工":{"docs":{},"作":{"docs":{},"流":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"、":{"docs":{},"任":{"docs":{},"务":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"及":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"故":{"docs":{},"障":{"docs":{},"转":{"docs":{},"移":{"docs":{},"及":{"docs":{},"任":{"docs":{},"务":{"docs":{},"超":{"docs":{},"时":{"docs":{},"告":{"docs":{},"警":{"docs":{},"/":{"docs":{},"失":{"docs":{},"败":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"参":{"docs":{},"数":{"docs":{},"及":{"docs":{},"节":{"docs":{},"点":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"参":{"docs":{},"数":{"docs":{},"设":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}}}}}}},"定":{"docs":{},"时":{"docs":{},"调":{"docs":{},"度":{"docs":{},"、":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"调":{"docs":{},"度":{"docs":{},"、":{"docs":{},"手":{"docs":{},"动":{"docs":{},"调":{"docs":{},"度":{"docs":{},"、":{"docs":{},"手":{"docs":{},"动":{"docs":{},"暂":{"docs":{},"停":{"docs":{},"/":{"docs":{},"停":{"docs":{},"止":{"docs":{},"/":{"docs":{},"恢":{"docs":{},"复":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"支":{"docs":{},"持":{"docs":{},"失":{"docs":{},"败":{"docs":{},"重":{"docs":{},"试":{"docs":{},"/":{"docs":{},"告":{"docs":{},"警":{"docs":{},"、":{"docs":{},"从":{"docs":{},"指":{"docs":{},"定":{"docs":{},"节":{"docs":{},"点":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"失":{"docs":{},"败":{"docs":{},"、":{"docs":{},"k":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"任":{"docs":{},"务":{"docs":{},"等":{"docs":{},"操":{"docs":{},"作":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"历":{"docs":{},"史":{"docs":{},"树":{"docs":{},"形":{"docs":{},"/":{"docs":{},"甘":{"docs":{},"特":{"docs":{},"图":{"docs":{},"展":{"docs":{},"示":{"docs":{},"、":{"docs":{},"支":{"docs":{},"持":{"docs":{},"任":{"docs":{},"务":{"docs":{},"状":{"docs":{},"态":{"docs":{},"统":{"docs":{},"计":{"docs":{},"、":{"docs":{},"流":{"docs":{},"程":{"docs":{},"状":{"docs":{},"态":{"docs":{},"统":{"docs":{},"计":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"暂":{"docs":{},"停":{"docs":{},",":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"操":{"docs":{},"作":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}},"补":{"docs":{},"数":{"docs":{"./":{"ref":"./","tf":0.0078125}}}},"资":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"在":{"docs":{},"线":{"docs":{},"上":{"docs":{},"传":{"docs":{},"/":{"docs":{},"下":{"docs":{},"载":{"docs":{},",":{"docs":{},"管":{"docs":{},"理":{"docs":{},"等":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"在":{"docs":{},"线":{"docs":{},"文":{"docs":{},"件":{"docs":{},"创":{"docs":{},"建":{"docs":{},"、":{"docs":{},"编":{"docs":{},"辑":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"档":{"docs":{"./":{"ref":"./","tf":0.0078125}}},"件":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"夹":{"docs":{},",":{"docs":{},"在":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"里":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"入":{"docs":{},"口":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},",":{"docs":{},"跟":{"docs":{},"当":{"docs":{},"前":{"docs":{},"节":{"docs":{},"点":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},"内":{"docs":{},"容":{"docs":{},"都":{"docs":{},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},"写":{"docs":{},"。":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}},"易":{"docs":{},"用":{"docs":{},"性":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}},"是":{"docs":{"./":{"ref":"./","tf":0.0546875}},"否":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"租":{"docs":{},"户":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"任":{"docs":{},"务":{"docs":{},"类":{"docs":{},"型":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}},"集":{"docs":{},"群":{"docs":{},"扩":{"docs":{},"展":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}},"能":{"docs":{},"暂":{"docs":{},"停":{"docs":{},"和":{"docs":{},"恢":{"docs":{},"复":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}},"旋":{"docs":{},"转":{"docs":{},"(":{"docs":{},"需":{"docs":{},"代":{"docs":{},"码":{"docs":{},"判":{"docs":{},"断":{"docs":{},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}},"禁":{"docs":{},"用":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"复":{"docs":{},"杂":{"docs":{"./":{"ref":"./","tf":0.015625}}}}}}}},"更":{"docs":{},"多":{"docs":{},"文":{"docs":{},"档":{"docs":{},"请":{"docs":{},"参":{"docs":{},"考":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}},"改":{"docs":{},"上":{"docs":{},"传":{"docs":{},"大":{"docs":{},"小":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}},"高":{"docs":{},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"避":{"docs":{},"免":{"docs":{},"无":{"docs":{},"效":{"docs":{},"计":{"docs":{},"算":{"docs":{},"和":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"应":{"docs":{},"该":{"docs":{},"尽":{"docs":{},"量":{"docs":{},"将":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}},"由":{"docs":{},"于":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"租":{"docs":{},"户":{"docs":{},",":{"docs":{},"在":{"docs":{},"大":{"docs":{},"数":{"docs":{},"据":{"docs":{},"平":{"docs":{},"台":{"docs":{},"业":{"docs":{},"务":{"docs":{},"使":{"docs":{},"用":{"docs":{},"不":{"docs":{},"够":{"docs":{},"灵":{"docs":{},"活":{"docs":{"./":{"ref":"./","tf":0.015625}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"(":{"docs":{},"u":{"docs":{},"i":{"docs":{},")":{"docs":{},"和":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"不":{"docs":{},"一":{"docs":{},"定":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"台":{"docs":{},"机":{"docs":{},"器":{"docs":{},"上":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"日":{"docs":{},"志":{"docs":{},"不":{"docs":{},"能":{"docs":{},"像":{"docs":{},"查":{"docs":{},"询":{"docs":{},"本":{"docs":{},"地":{"docs":{},"文":{"docs":{},"件":{"docs":{},"那":{"docs":{},"样":{"docs":{},"。":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"案":{"docs":{},":":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"稳":{"docs":{},"定":{"docs":{},"性":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}},"系":{"docs":{},"统":{"docs":{},"部":{"docs":{},"分":{"docs":{},"截":{"docs":{},"图":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}},"功":{"docs":{},"能":{"docs":{},"模":{"docs":{},"块":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"支":{"docs":{},"持":{"docs":{},"基":{"docs":{},"于":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"表":{"docs":{},"达":{"docs":{},"式":{"docs":{},"的":{"docs":{},"定":{"docs":{},"时":{"docs":{},"调":{"docs":{},"度":{"docs":{},"和":{"docs":{},"手":{"docs":{},"动":{"docs":{},"调":{"docs":{},"度":{"docs":{},"。":{"docs":{},"命":{"docs":{},"令":{"docs":{},"类":{"docs":{},"型":{"docs":{},"支":{"docs":{},"持":{"docs":{},":":{"docs":{},"启":{"docs":{},"动":{"docs":{},"工":{"docs":{},"作":{"docs":{},"流":{"docs":{},"、":{"docs":{},"从":{"docs":{},"当":{"docs":{},"前":{"docs":{},"节":{"docs":{},"点":{"docs":{},"开":{"docs":{},"始":{"docs":{},"执":{"docs":{},"行":{"docs":{},"、":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"被":{"docs":{},"容":{"docs":{},"错":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"流":{"docs":{},"、":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"暂":{"docs":{},"停":{"docs":{},"流":{"docs":{},"程":{"docs":{},"、":{"docs":{},"从":{"docs":{},"失":{"docs":{},"败":{"docs":{},"节":{"docs":{},"点":{"docs":{},"开":{"docs":{},"始":{"docs":{},"执":{"docs":{},"行":{"docs":{},"、":{"docs":{},"补":{"docs":{},"数":{"docs":{},"、":{"docs":{},"调":{"docs":{},"度":{"docs":{},"、":{"docs":{},"重":{"docs":{},"跑":{"docs":{},"、":{"docs":{},"暂":{"docs":{},"停":{"docs":{},"、":{"docs":{},"停":{"docs":{},"止":{"docs":{},"、":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"等":{"docs":{},"待":{"docs":{},"线":{"docs":{},"程":{"docs":{},"。":{"docs":{},"其":{"docs":{},"中":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"架":{"docs":{},"构":{"docs":{},"图":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.011049723756906077}}},"设":{"docs":{},"计":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":10}}}}}},"的":{"docs":{},"前":{"docs":{},"端":{"docs":{},"页":{"docs":{},"面":{"docs":{},",":{"docs":{},"提":{"docs":{},"供":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"各":{"docs":{},"种":{"docs":{},"可":{"docs":{},"视":{"docs":{},"化":{"docs":{},"操":{"docs":{},"作":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{},"详":{"docs":{},"见":{"docs":{},"使":{"docs":{},"用":{"docs":{},"手":{"docs":{},"册":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"计":{"docs":{},"特":{"docs":{},"点":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}},"定":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"的":{"docs":{},"安":{"docs":{},"装":{"docs":{},"目":{"docs":{},"录":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}},"调":{"docs":{},"度":{"docs":{},"器":{"docs":{},"使":{"docs":{},"用":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"调":{"docs":{},"度":{"docs":{},",":{"docs":{},"整":{"docs":{},"体":{"docs":{},"的":{"docs":{},"调":{"docs":{},"度":{"docs":{},"能":{"docs":{},"力":{"docs":{},"会":{"docs":{},"随":{"docs":{},"便":{"docs":{},"集":{"docs":{},"群":{"docs":{},"的":{"docs":{},"规":{"docs":{},"模":{"docs":{},"线":{"docs":{},"性":{"docs":{},"增":{"docs":{},"长":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"支":{"docs":{},"持":{"docs":{},"动":{"docs":{},"态":{"docs":{},"上":{"docs":{},"下":{"docs":{},"线":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"架":{"docs":{},"构":{"docs":{},"设":{"docs":{},"计":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}},"用":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"过":{"docs":{},"载":{"docs":{},"处":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}},"滤":{"docs":{},"器":{"docs":{},"和":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"管":{"docs":{},"道":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}},"匹":{"docs":{},"配":{"docs":{},"以":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"开":{"docs":{},"始":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"名":{"docs":{},"称":{"docs":{},":":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}},"还":{"docs":{},"有":{"docs":{},"更":{"docs":{},"多":{"docs":{},"等":{"docs":{},"待":{"docs":{},"伙":{"docs":{},"伴":{"docs":{},"们":{"docs":{},"探":{"docs":{},"索":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}},"一":{"docs":{},"种":{"docs":{},"是":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"节":{"docs":{},"点":{"docs":{},"不":{"docs":{},"做":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"或":{"docs":{},"语":{"docs":{},"句":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"整":{"docs":{},"个":{"docs":{},"流":{"docs":{},"程":{"docs":{},"流":{"docs":{},"转":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"子":{"docs":{},"流":{"docs":{},"程":{"docs":{},"节":{"docs":{},"等":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"代":{"docs":{},"码":{"docs":{},"来":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"不":{"docs":{},"便":{"docs":{},",":{"docs":{},"特":{"docs":{},"别":{"docs":{},"是":{"docs":{},"对":{"docs":{},"不":{"docs":{},"会":{"docs":{},"写":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"人":{"docs":{},"员":{"docs":{},"基":{"docs":{},"本":{"docs":{},"无":{"docs":{},"法":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"d":{"docs":{},"s":{"docs":{},"l":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"并":{"docs":{},"打":{"docs":{},"包":{"docs":{},"上":{"docs":{},"传":{"docs":{"./":{"ref":"./","tf":0.0078125}}}}}}}}}}}}}}}}}},"检":{"docs":{},"查":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}},"g":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"通":{"docs":{},"信":{"docs":{},"获":{"docs":{},"取":{"docs":{},"远":{"docs":{},"程":{"docs":{},"日":{"docs":{},"志":{"docs":{},"信":{"docs":{},"息":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}},"用":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"队":{"docs":{},"列":{"docs":{},"选":{"docs":{},"择":{"docs":{},"及":{"docs":{},"地":{"docs":{},"址":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"通":{"docs":{},"用":{"docs":{},"文":{"docs":{},"件":{"docs":{},"目":{"docs":{},"录":{"docs":{},"配":{"docs":{},"置":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"部":{"docs":{},"署":{"docs":{},"文":{"docs":{},"档":{"docs":{"./":{"ref":"./","tf":0.0078125},"backend-deploy.html":{"ref":"backend-deploy.html","tf":10.001011122345805}}}},"用":{"docs":{},"户":{"docs":{},"是":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}},"集":{"docs":{},"群":{"docs":{},"化":{"docs":{},"部":{"docs":{},"署":{"docs":{},"复":{"docs":{},"杂":{"docs":{"./":{"ref":"./","tf":0.015625}}}}}}},"启":{"docs":{},"动":{"docs":{},"、":{"docs":{},"停":{"docs":{},"止":{"docs":{},"和":{"docs":{},"服":{"docs":{},"务":{"docs":{},"监":{"docs":{},"控":{"docs":{},"启":{"docs":{},"停":{"docs":{},"脚":{"docs":{},"本":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}},"需":{"docs":{},"将":{"docs":{},"工":{"docs":{},"作":{"docs":{},"流":{"docs":{},"杀":{"docs":{},"死":{"docs":{},"再":{"docs":{},"运":{"docs":{},"行":{"docs":{"./":{"ref":"./","tf":0.015625}}}}}}}}}}},"要":{"docs":{},"容":{"docs":{},"错":{"docs":{},"”":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"则":{"docs":{},"接":{"docs":{},"管":{"docs":{},"任":{"docs":{},"务":{"docs":{},"并":{"docs":{},"进":{"docs":{},"行":{"docs":{},"重":{"docs":{},"新":{"docs":{},"提":{"docs":{},"交":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.02912621359223301}}},"继":{"docs":{},"承":{"docs":{},"c":{"docs":{},"n":{"docs":{},".":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.02912621359223301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627}},"#":{"docs":{},"\"":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}},"$":{"1":{"docs":{},"\"":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}},"docs":{}},"u":{"docs":{},"p":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"\"":{"docs":{},";":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},"权":{"docs":{},"限":{"docs":{},"控":{"docs":{},"制":{"docs":{},"页":{"docs":{},"面":{"docs":{},"操":{"docs":{},"作":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"是":{"docs":{},"否":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"\"":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}},"#":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.015332197614991482},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0455005055611729}},"!":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}},"c":{"docs":{},"c":{"docs":{},";":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841}}}}}},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.003033367037411527}}}}}}}}},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}}}},"#":{"docs":{},"#":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}},"#":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}},"#":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.011049723756906077}},"#":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.011049723756906077}}}}}}},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.008088978766430738}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},".":{"docs":{},"s":{"docs":{},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}},"h":{"docs":{},"e":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.003033367037411527}}}}}}}}}},"$":{"0":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.005110732538330494}}},"docs":{},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627}}}}}},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},";":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"u":{"docs":{},"p":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},";":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"d":{"docs":{},"f":{"docs":{},")":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627}}}}}},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"x":{"docs":{},"y":{"docs":{},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"_":{"docs":{},"x":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},";":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},";":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.005110732538330494}}}}}}}}}}}}}},"{":{"docs":{},"节":{"docs":{},"点":{"docs":{},"类":{"docs":{},"型":{"docs":{},"(":{"docs":{},"小":{"docs":{},"写":{"docs":{},")":{"docs":{},"}":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}},"&":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"&":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}},"(":{"1":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.005110732538330494}},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.004667444574095682}}}},"2":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.003500583430571762}}}},"3":{"docs":{},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"4":{"docs":{},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"5":{"docs":{},".":{"5":{"docs":{},"+":{"docs":{},")":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}},"docs":{}}},"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"|":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"|":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"|":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},")":{"docs":{},"\"":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"后":{"docs":{},"访":{"docs":{},"问":{"docs":{},"地":{"docs":{},"址":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}},"打":{"docs":{},"包":{"docs":{},"后":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"名":{"docs":{},"为":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"发":{"docs":{},"布":{"docs":{},"线":{"docs":{},"上":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},")":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"意":{"docs":{},"版":{"docs":{},"本":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}},"!":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"$":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"s":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"d":{"docs":{},"s":{"docs":{},".":{"docs":{},"_":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"f":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"s":{"docs":{},".":{"docs":{},"_":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"f":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.003500583430571762}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}},"v":{"docs":{},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"{":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}},"*":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.005834305717619603},"architecture-design.html":{"ref":"architecture-design.html","tf":0.011049723756906077},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.004044489383215369}},")":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"/":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841},"architecture-design.html":{"ref":"architecture-design.html","tf":0.011049723756906077}}},"*":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"*":{"docs":{},"*":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"z":{"docs":{},"*":{"docs":{},"*":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"任":{"docs":{},"务":{"docs":{},"*":{"docs":{},"*":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}},"u":{"docs":{},"b":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"*":{"docs":{},"*":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}},"两":{"docs":{},"种":{"docs":{},"命":{"docs":{},"令":{"docs":{},"类":{"docs":{},"型":{"docs":{},"是":{"docs":{},"由":{"docs":{},"调":{"docs":{},"度":{"docs":{},"内":{"docs":{},"部":{"docs":{},"控":{"docs":{},"制":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"外":{"docs":{},"部":{"docs":{},"无":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"*":{"docs":{},"*":{"docs":{},":":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"是":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"中":{"docs":{},"任":{"docs":{},"务":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"化":{"docs":{},",":{"docs":{},"标":{"docs":{},"识":{"docs":{},"着":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"docs":{},"状":{"docs":{},"态":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{},"*":{"docs":{},"*":{"docs":{},":":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"*":{"docs":{},"*":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}},"依":{"docs":{},"赖":{"docs":{},"*":{"docs":{},"*":{"docs":{},":":{"docs":{},"系":{"docs":{},"统":{"docs":{},"不":{"docs":{},"单":{"docs":{},"单":{"docs":{},"支":{"docs":{},"持":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}},"失":{"docs":{},"败":{"docs":{},"策":{"docs":{},"略":{"docs":{},"*":{"docs":{},"*":{"docs":{},":":{"docs":{},"对":{"docs":{},"于":{"docs":{},"并":{"docs":{},"行":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"任":{"docs":{},"务":{"docs":{},"失":{"docs":{},"败":{"docs":{},",":{"docs":{},"提":{"docs":{},"供":{"docs":{},"两":{"docs":{},"种":{"docs":{},"失":{"docs":{},"败":{"docs":{},"策":{"docs":{},"略":{"docs":{},"处":{"docs":{},"理":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"*":{"docs":{},"*":{"docs":{},"继":{"docs":{},"续":{"docs":{},"*":{"docs":{},"*":{"docs":{},"是":{"docs":{},"指":{"docs":{},"不":{"docs":{},"管":{"docs":{},"并":{"docs":{},"行":{"docs":{},"运":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"流":{"docs":{},"程":{"docs":{},"失":{"docs":{},"败":{"docs":{},"结":{"docs":{},"束":{"docs":{},"。":{"docs":{},"*":{"docs":{},"*":{"docs":{},"结":{"docs":{},"束":{"docs":{},"*":{"docs":{},"*":{"docs":{},"是":{"docs":{},"指":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"发":{"docs":{},"现":{"docs":{},"失":{"docs":{},"败":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"则":{"docs":{},"同":{"docs":{},"时":{"docs":{},"k":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"掉":{"docs":{},"正":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"并":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"流":{"docs":{},"程":{"docs":{},"失":{"docs":{},"败":{"docs":{},"结":{"docs":{},"束":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"定":{"docs":{},"时":{"docs":{},"调":{"docs":{},"度":{"docs":{},"*":{"docs":{},"*":{"docs":{},":":{"docs":{},"系":{"docs":{},"统":{"docs":{},"采":{"docs":{},"用":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}},"恢":{"docs":{},"复":{"docs":{},"等":{"docs":{},"待":{"docs":{},"线":{"docs":{},"程":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}},"被":{"docs":{},"容":{"docs":{},"错":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"流":{"docs":{},"*":{"docs":{},"*":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"*":{"docs":{},"*":{"docs":{},":":{"docs":{},"通":{"docs":{},"过":{"docs":{},"拖":{"docs":{},"拽":{"docs":{},"任":{"docs":{},"务":{"docs":{},"节":{"docs":{},"点":{"docs":{},"并":{"docs":{},"建":{"docs":{},"立":{"docs":{},"任":{"docs":{},"务":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"关":{"docs":{},"联":{"docs":{},"所":{"docs":{},"形":{"docs":{},"成":{"docs":{},"的":{"docs":{},"可":{"docs":{},"视":{"docs":{},"化":{"docs":{},"*":{"docs":{},"*":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"*":{"docs":{},"*":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"例":{"docs":{},"*":{"docs":{},"*":{"docs":{},":":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"是":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"化":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"手":{"docs":{},"动":{"docs":{},"启":{"docs":{},"动":{"docs":{},"或":{"docs":{},"定":{"docs":{},"时":{"docs":{},"调":{"docs":{},"度":{"docs":{},"生":{"docs":{},"成":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"补":{"docs":{},"数":{"docs":{},"*":{"docs":{},"*":{"docs":{},":":{"docs":{},"补":{"docs":{},"历":{"docs":{},"史":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"*":{"docs":{},"*":{"docs":{},"区":{"docs":{},"间":{"docs":{},"并":{"docs":{},"行":{"docs":{},"和":{"docs":{},"串":{"docs":{},"行":{"docs":{},"*":{"docs":{},"*":{"docs":{},"两":{"docs":{},"种":{"docs":{},"补":{"docs":{},"数":{"docs":{},"方":{"docs":{},"式":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"度":{"docs":{},"方":{"docs":{},"式":{"docs":{},":":{"docs":{},"*":{"docs":{},"*":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}},"邮":{"docs":{},"件":{"docs":{},"告":{"docs":{},"警":{"docs":{},"*":{"docs":{},"*":{"docs":{},":":{"docs":{},"支":{"docs":{},"持":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314},"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841}}}},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.005110732538330494}},"e":{"docs":{},":":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"l":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.010111223458038422}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841}}}}}},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}},";":{"docs":{},";":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0068143100511073255}}}},"=":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.005110732538330494},"frontend-development.html":{"ref":"frontend-development.html","tf":0.010501750291715286},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.022244691607684528},"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.02912621359223301}},"=":{"docs":{},"=":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},">":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.05367561260210035}}}},">":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314},"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"[":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"]":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"@":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.044293015332197615}}}}}}}}}}}},"\"":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"@":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"y":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"c":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{},"\"":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"1":{"docs":{},"@":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"y":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"c":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{},"\"":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"3":{"docs":{},"@":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"y":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"c":{"docs":{},"n":{"docs":{},"\"":{"docs":{},"]":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"g":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}},"c":{"docs":{},"c":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627}}}},"i":{"docs":{},"t":{"docs":{},"@":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"y":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"n":{"docs":{},":":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"y":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"g":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"0":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"docs":{}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"=":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"h":{"docs":{},",":{"docs":{},"简":{"docs":{},"称":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"。":{"docs":{},"工":{"docs":{},"作":{"docs":{},"流":{"docs":{},"中":{"docs":{},"的":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"任":{"docs":{},"务":{"docs":{},"以":{"docs":{},"有":{"docs":{},"向":{"docs":{},"无":{"docs":{},"环":{"docs":{},"图":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"组":{"docs":{},"装":{"docs":{},"起":{"docs":{},"来":{"docs":{},",":{"docs":{},"从":{"docs":{},"入":{"docs":{},"度":{"docs":{},"为":{"docs":{},"零":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"进":{"docs":{},"行":{"docs":{},"拓":{"docs":{},"扑":{"docs":{},"遍":{"docs":{},"历":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"无":{"docs":{},"后":{"docs":{},"继":{"docs":{},"节":{"docs":{},"点":{"docs":{},"为":{"docs":{},"止":{"docs":{},"。":{"docs":{},"举":{"docs":{},"例":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},":":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"}":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"t":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},".":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}},"j":{"docs":{},"s":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314},"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}},"/":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"(":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},")":{"docs":{},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.003500583430571762}},"规":{"docs":{},"范":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"t":{"docs":{},"/":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"\"":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"t":{"docs":{},"/":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"b":{"docs":{},"c":{"docs":{},":":{"docs":{},"m":{"docs":{},"y":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},":":{"3":{"3":{"0":{"6":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"?":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"=":{"docs":{},"u":{"docs":{},"t":{"docs":{},"f":{"8":{"docs":{},"&":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}},"k":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.005110732538330494}},"a":{"docs":{},"l":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627}}}}}}},"o":{"docs":{},"i":{"8":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"docs":{}}},"e":{"docs":{},"y":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841}}}},"a":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"=":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"h":{"docs":{},"a":{"docs":{},"t":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"m":{"docs":{},"y":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},".":{"docs":{},"j":{"docs":{},"d":{"docs":{},"b":{"docs":{},"c":{"docs":{},".":{"docs":{},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.003500583430571762}}},".":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"e":{"docs":{},",":{"docs":{},"i":{"docs":{},"f":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}},"v":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.005110732538330494}}}}}}},"w":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.003500583430571762},"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}},"e":{"docs":{},"d":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.003033367037411527}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.034071550255536626}},"!":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}},"\"":{"docs":{},")":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"确":{"docs":{},"认":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"服":{"docs":{},"务":{"docs":{},"是":{"docs":{},"否":{"docs":{},"正":{"docs":{},"常":{"docs":{},"运":{"docs":{},"行":{"docs":{},"。":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627}}},"安":{"docs":{},"装":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}},"服":{"docs":{},"务":{"docs":{},"程":{"docs":{},"序":{"docs":{},"默":{"docs":{},"认":{"docs":{},"以":{"docs":{},"n":{"docs":{},"o":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"y":{"docs":{},"身":{"docs":{},"份":{"docs":{},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"建":{"docs":{},"议":{"docs":{},"为":{"docs":{},"其":{"docs":{},"创":{"docs":{},"建":{"docs":{},"专":{"docs":{},"门":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"账":{"docs":{},"号":{"docs":{},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"更":{"docs":{},"准":{"docs":{},"确":{"docs":{},"地":{"docs":{},"控":{"docs":{},"制":{"docs":{},"其":{"docs":{},"访":{"docs":{},"问":{"docs":{},"权":{"docs":{},"限":{"docs":{},",":{"docs":{},"增":{"docs":{},"加":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"性":{"docs":{},"、":{"docs":{},"降":{"docs":{},"低":{"docs":{},"安":{"docs":{},"全":{"docs":{},"风":{"docs":{},"险":{"docs":{},"。":{"docs":{},"如":{"docs":{},":":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"名":{"docs":{},"为":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},",":{"docs":{},"不":{"docs":{},"建":{"docs":{},"立":{"docs":{},"宿":{"docs":{},"主":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"也":{"docs":{},"禁":{"docs":{},"止":{"docs":{},"登":{"docs":{},"录":{"docs":{},"到":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"环":{"docs":{},"境":{"docs":{},"。":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"运":{"docs":{},"行":{"docs":{},"控":{"docs":{},"制":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}},"配":{"docs":{},"置":{"docs":{},"及":{"docs":{},"运":{"docs":{},"行":{"docs":{},"需":{"docs":{},"要":{"docs":{},"p":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"、":{"docs":{},"z":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"等":{"docs":{},"软":{"docs":{},"件":{"docs":{},"包":{"docs":{},"的":{"docs":{},"支":{"docs":{},"持":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"应":{"docs":{},"预":{"docs":{},"先":{"docs":{},"安":{"docs":{},"装":{"docs":{},"这":{"docs":{},"些":{"docs":{},"软":{"docs":{},"件":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"包":{"docs":{},"(":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},")":{"docs":{},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"提":{"docs":{},"供":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"库":{"docs":{},"和":{"docs":{},"头":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"确":{"docs":{},"保":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"的":{"docs":{},"安":{"docs":{},"装":{"docs":{},"顺":{"docs":{},"利":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"监":{"docs":{},"听":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"在":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"中":{"docs":{},"访":{"docs":{},"问":{"docs":{},"此":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"服":{"docs":{},"务":{"docs":{},"(":{"docs":{},"默":{"docs":{},"认":{"docs":{},"页":{"docs":{},"面":{"docs":{},"将":{"docs":{},"显":{"docs":{},"示":{"docs":{},"\"":{"docs":{},"w":{"docs":{},"e":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.005110732538330494}},"包":{"docs":{},"下":{"docs":{},"载":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}},"安":{"docs":{},"装":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}},"h":{"docs":{},"u":{"docs":{},"p":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},".":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"d":{"docs":{},":":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}}}}},"t":{"docs":{},"e":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}},"p":{"docs":{},"m":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.01192504258943782},"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"u":{"docs":{},"m":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.006066734074823054}},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"l":{"docs":{},"l":{"docs":{},",":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}},"o":{"docs":{},"k":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}},"s":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},".":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},"(":{"docs":{},"'":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"'":{"docs":{},",":{"docs":{},"'":{"docs":{},"%":{"docs":{},"s":{"docs":{},"'":{"docs":{},"%":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}},".":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"(":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}},"n":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"什":{"docs":{},"么":{"docs":{},"不":{"docs":{},"好":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"仅":{"docs":{},"为":{"docs":{},"了":{"docs":{},"统":{"docs":{},"一":{"docs":{},"规":{"docs":{},"范":{"docs":{},"。":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"g":{"docs":{},".":{"docs":{},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"z":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"y":{"docs":{},"d":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}},"s":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},".":{"docs":{},"j":{"docs":{},"d":{"docs":{},"b":{"docs":{},"c":{"docs":{},"j":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"x":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"j":{"docs":{},"d":{"docs":{},"b":{"docs":{},"c":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"d":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},".":{"docs":{},"s":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}},"m":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"s":{"docs":{},"d":{"docs":{},"a":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.004044489383215369}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627},"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"s":{"docs":{},"'":{"docs":{},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}},"t":{"docs":{},"h":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}},",":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}},"n":{"docs":{},"e":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}},".":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"=":{"docs":{},"\"":{"docs":{},"%":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"%":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"%":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"%":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"%":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"%":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"%":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"%":{"docs":{},"(":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"1":{"docs":{},",":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"2":{"docs":{},",":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"$":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"$":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"1":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"$":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"2":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"$":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"$":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"$":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"$":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},"i":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"[":{"docs":{},"'":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"'":{"docs":{},"]":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.004044489383215369}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"。":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}},"i":{"docs":{},"d":{"docs":{},"f":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"r":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"s":{"docs":{},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}},"=":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"r":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"g":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"r":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"/":{"docs":{},"s":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"\"":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"y":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}},"t":{"docs":{},"_":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.01192504258943782}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}},"p":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841}},"s":{"docs":{},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.003500583430571762}}},",":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"i":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}},";":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"=":{"docs":{},"/":{"docs":{},"t":{"docs":{},"m":{"docs":{},"p":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"o":{"docs":{},",":{"docs":{},"设":{"docs":{},"置":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}}}}}}}}}},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.005055611729019211}}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.011049723756906077},"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}},"h":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.003033367037411527}}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}},"s":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"(":{"8":{"docs":{},".":{"2":{"docs":{},".":{"1":{"5":{"docs":{},"+":{"docs":{},")":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"e":{"docs":{},",":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"t":{"docs":{},"/":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"t":{"docs":{},"/":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}},"任":{"docs":{},"务":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}},"{":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"}":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"t":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.005110732538330494}}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"z":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"调":{"docs":{},"度":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"负":{"docs":{},"责":{"docs":{},"定":{"docs":{},"时":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"启":{"docs":{},"停":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"当":{"docs":{},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"z":{"docs":{},"调":{"docs":{},"起":{"docs":{},"任":{"docs":{},"务":{"docs":{},"后":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"内":{"docs":{},"部":{"docs":{},"会":{"docs":{},"有":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"具":{"docs":{},"体":{"docs":{},"负":{"docs":{},"责":{"docs":{},"处":{"docs":{},"理":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"后":{"docs":{},"续":{"docs":{},"操":{"docs":{},"作":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"中":{"docs":{},"是":{"docs":{},"否":{"docs":{},"已":{"docs":{},"经":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"存":{"docs":{},"在":{"docs":{},"则":{"docs":{},"同":{"docs":{},"样":{"docs":{},"监":{"docs":{},"控":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"则":{"docs":{},"重":{"docs":{},"新":{"docs":{},"提":{"docs":{},"交":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"领":{"docs":{},"取":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"并":{"docs":{},"根":{"docs":{},"据":{"docs":{},"不":{"docs":{},"同":{"docs":{},"任":{"docs":{},"务":{"docs":{},"类":{"docs":{},"型":{"docs":{},"调":{"docs":{},"用":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"对":{"docs":{},"应":{"docs":{},"执":{"docs":{},"行":{"docs":{},"器":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.003033367037411527}}}}}},"r":{"docs":{},"t":{"docs":{},"z":{"docs":{},"_":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}},"u":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.005055611729019211}},"i":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314},"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841},"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"r":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}},"i":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}},"p":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}},"s":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}},"e":{"docs":{},"r":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}},"=":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}},"和":{"docs":{},"—":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}},"}":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}},"u":{"docs":{},"n":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}},"d":{"docs":{},"f":{"docs":{},"管":{"docs":{},"理":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},".":{"docs":{},"j":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.003500583430571762}}}}}},"f":{"8":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"c":{"docs":{},"i":{"docs":{},";":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}},"docs":{}}}},"v":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.010501750291715286}},"i":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"m":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627}}},"e":{"docs":{},"w":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}},"u":{"docs":{},"e":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314},"frontend-development.html":{"ref":"frontend-development.html","tf":0.003500583430571762}},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"器":{"docs":{},",":{"docs":{},"在":{"docs":{},"每":{"docs":{},"个":{"docs":{},"页":{"docs":{},"面":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},"文":{"docs":{},"件":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"j":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}}},"规":{"docs":{},"范":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.00910010111223458}},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}},"u":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.004044489383215369}},"e":{"docs":{},"]":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"r":{"docs":{},",":{"docs":{},"而":{"docs":{},"使":{"docs":{},"用":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}},"y":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.008517887563884156}},"u":{"docs":{},"m":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.008517887563884156}}}},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"=":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"1":{"docs":{},":":{"8":{"0":{"8":{"8":{"docs":{},"/":{"docs":{},"w":{"docs":{},"s":{"docs":{},"/":{"docs":{},"v":{"1":{"docs":{},"/":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"s":{"docs":{},"/":{"docs":{},"%":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"h":{"docs":{},"a":{"docs":{},".":{"docs":{},"r":{"docs":{},"m":{"docs":{},".":{"docs":{},"i":{"docs":{},"d":{"docs":{},"s":{"docs":{},"=":{"1":{"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},",":{"1":{"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"z":{"docs":{},"i":{"docs":{},"l":{"docs":{},"b":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.011049723756906077},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"e":{"docs":{},"r":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"节":{"docs":{},"点":{"docs":{},"都":{"docs":{},"通":{"docs":{},"过":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"集":{"docs":{},"群":{"docs":{},"管":{"docs":{},"理":{"docs":{},"和":{"docs":{},"容":{"docs":{},"错":{"docs":{},"。":{"docs":{},"另":{"docs":{},"外":{"docs":{},"系":{"docs":{},"统":{"docs":{},"还":{"docs":{},"基":{"docs":{},"于":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"进":{"docs":{},"行":{"docs":{},"事":{"docs":{},"件":{"docs":{},"监":{"docs":{},"听":{"docs":{},"和":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"锁":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"3":{"docs":{},".":{"4":{"docs":{},".":{"6":{"docs":{},")":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}},"docs":{}}},"docs":{}}},"docs":{}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"=":{"3":{"0":{"0":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"=":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"=":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"/":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"=":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"/":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"/":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"=":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"=":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"=":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"o":{"docs":{},"r":{"docs":{},"u":{"docs":{},"m":{"docs":{},"=":{"1":{"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},":":{"2":{"1":{"8":{"1":{"docs":{},",":{"1":{"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},":":{"2":{"1":{"8":{"1":{"docs":{},",":{"1":{"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},":":{"2":{"1":{"8":{"1":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"=":{"5":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}}}}}}}}},"s":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"=":{"1":{"0":{"0":{"0":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"=":{"3":{"0":{"0":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"|":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.008168028004667444}},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.005110732538330494}}}}}},"—":{"docs":{},"—":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.003033367037411527}}}}},"~":{"docs":{},"]":{"docs":{},"#":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.030664395229982964}}}}},"上":{"docs":{},"传":{"docs":{},"文":{"docs":{},"件":{"docs":{},"大":{"docs":{},"小":{"docs":{},"限":{"docs":{},"制":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}},"图":{"docs":{},"中":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"等":{"docs":{},"待":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"1":{"docs":{},"结":{"docs":{},"束":{"docs":{},",":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"1":{"docs":{},"等":{"docs":{},"待":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"2":{"docs":{},"结":{"docs":{},"束":{"docs":{},",":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}},"docs":{}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"了":{"docs":{},"使":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"运":{"docs":{},"行":{"docs":{},"更":{"docs":{},"加":{"docs":{},"方":{"docs":{},"便":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"为":{"docs":{},"主":{"docs":{},"程":{"docs":{},"序":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"创":{"docs":{},"建":{"docs":{},"链":{"docs":{},"接":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"管":{"docs":{},"理":{"docs":{},"员":{"docs":{},"直":{"docs":{},"接":{"docs":{},"执":{"docs":{},"行":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"命":{"docs":{},"令":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"调":{"docs":{},"用":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"的":{"docs":{},"主":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"、":{"docs":{},"停":{"docs":{},"止":{"docs":{},"、":{"docs":{},"重":{"docs":{},"载":{"docs":{},"等":{"docs":{},"操":{"docs":{},"作":{"docs":{},"更":{"docs":{},"加":{"docs":{},"方":{"docs":{},"便":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"编":{"docs":{},"写":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"服":{"docs":{},"务":{"docs":{},"脚":{"docs":{},"本":{"docs":{},",":{"docs":{},"并":{"docs":{},"使":{"docs":{},"用":{"docs":{},"c":{"docs":{},"h":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"和":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"工":{"docs":{},"具":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"管":{"docs":{},"理":{"docs":{},",":{"docs":{},"也":{"docs":{},"更":{"docs":{},"加":{"docs":{},"符":{"docs":{},"合":{"docs":{},"r":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"管":{"docs":{},"理":{"docs":{},"习":{"docs":{},"惯":{"docs":{},"。":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"更":{"docs":{},"高":{"docs":{},"效":{"docs":{},"的":{"docs":{},"元":{"docs":{},"素":{"docs":{},"切":{"docs":{},"换":{"docs":{},",":{"docs":{},"会":{"docs":{},"复":{"docs":{},"用":{"docs":{},"相":{"docs":{},"同":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"避":{"docs":{},"免":{"docs":{},"复":{"docs":{},"用":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"不":{"docs":{},"合":{"docs":{},"理":{"docs":{},"效":{"docs":{},"果":{"docs":{},",":{"docs":{},"应":{"docs":{},"该":{"docs":{},"在":{"docs":{},"同":{"docs":{},"种":{"docs":{},"元":{"docs":{},"素":{"docs":{},"上":{"docs":{},"加":{"docs":{},"上":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"统":{"docs":{},"一":{"docs":{},"和":{"docs":{},"便":{"docs":{},"于":{"docs":{},"阅":{"docs":{},"读":{"docs":{},",":{"docs":{},"应":{"docs":{},"该":{"docs":{},"按":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}},"规":{"docs":{},"范":{"docs":{},"始":{"docs":{},"终":{"docs":{},"使":{"docs":{},"用":{"docs":{},"指":{"docs":{},"令":{"docs":{},"缩":{"docs":{},"写":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"v":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"程":{"docs":{},"序":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"支":{"docs":{},"持":{"docs":{},"标":{"docs":{},"准":{"docs":{},"的":{"docs":{},"进":{"docs":{},"程":{"docs":{},"信":{"docs":{},"号":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"k":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"或":{"docs":{},"者":{"docs":{},"k":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"命":{"docs":{},"令":{"docs":{},"传":{"docs":{},"送":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"机":{"docs":{},"器":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}},"再":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}},"创":{"docs":{},"建":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"运":{"docs":{},"行":{"docs":{},"用":{"docs":{},"户":{"docs":{},"、":{"docs":{},"组":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}},"静":{"docs":{},"态":{"docs":{},"页":{"docs":{},"面":{"docs":{},"存":{"docs":{},"放":{"docs":{},"目":{"docs":{},"录":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}},"d":{"docs":{},"b":{"docs":{},"和":{"docs":{},"账":{"docs":{},"号":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}},"表":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"部":{"docs":{},"署":{"docs":{},"用":{"docs":{},"户":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.003033367037411527}}}}}}}},"号":{"docs":{},"去":{"docs":{},"掉":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}},"启":{"docs":{},"动":{"docs":{},"、":{"docs":{},"停":{"docs":{},"止":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}},"用":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"b":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"模":{"docs":{},"块":{"docs":{},"以":{"docs":{},"支":{"docs":{},"持":{"docs":{},"状":{"docs":{},"态":{"docs":{},"统":{"docs":{},"计":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"模":{"docs":{},"块":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}},"停":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}},"p":{"docs":{},"i":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}},"命":{"docs":{},"令":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"打":{"docs":{},"包":{"docs":{},"文":{"docs":{},"件":{"docs":{},"(":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{},"包":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}},"您":{"docs":{},"需":{"docs":{},"要":{"docs":{},"用":{"docs":{},"i":{"docs":{},"p":{"docs":{},"访":{"docs":{},"问":{"docs":{},"项":{"docs":{},"目":{"docs":{},"可":{"docs":{},"以":{"docs":{},"把":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"输":{"docs":{},"出":{"docs":{},"值":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"中":{"docs":{},"没":{"docs":{},"有":{"docs":{},"子":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"则":{"docs":{},"如":{"docs":{},"果":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"中":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"条":{"docs":{},"数":{"docs":{},"大":{"docs":{},"于":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"设":{"docs":{},"置":{"docs":{},"的":{"docs":{},"阈":{"docs":{},"值":{"docs":{},",":{"docs":{},"则":{"docs":{},"直":{"docs":{},"接":{"docs":{},"流":{"docs":{},"程":{"docs":{},"等":{"docs":{},"待":{"docs":{},"或":{"docs":{},"失":{"docs":{},"败":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"大":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"中":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"子":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},"则":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"“":{"docs":{},"死":{"docs":{},"等":{"docs":{},"”":{"docs":{},"状":{"docs":{},"态":{"docs":{},":":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"工":{"docs":{},"作":{"docs":{},"流":{"docs":{},"中":{"docs":{},"有":{"docs":{},"任":{"docs":{},"务":{"docs":{},"失":{"docs":{},"败":{"docs":{},"达":{"docs":{},"到":{"docs":{},"最":{"docs":{},"大":{"docs":{},"重":{"docs":{},"试":{"docs":{},"次":{"docs":{},"数":{"docs":{},",":{"docs":{},"工":{"docs":{},"作":{"docs":{},"流":{"docs":{},"就":{"docs":{},"会":{"docs":{},"失":{"docs":{},"败":{"docs":{},"停":{"docs":{},"止":{"docs":{},",":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"流":{"docs":{},"可":{"docs":{},"以":{"docs":{},"手":{"docs":{},"动":{"docs":{},"进":{"docs":{},"行":{"docs":{},"重":{"docs":{},"跑":{"docs":{},"操":{"docs":{},"作":{"docs":{},"或":{"docs":{},"者":{"docs":{},"流":{"docs":{},"程":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"操":{"docs":{},"作":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"进":{"docs":{},"行":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}},"安":{"docs":{},"装":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"l":{"docs":{},"源":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}},"及":{"docs":{},"配":{"docs":{},"置":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}},"全":{"docs":{},"中":{"docs":{},"心":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841}}}}}},"开":{"docs":{},"发":{"docs":{},"环":{"docs":{},"境":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}},"当":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"进":{"docs":{},"程":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},",":{"docs":{},"p":{"docs":{},"i":{"docs":{},"d":{"docs":{},"号":{"docs":{},"默":{"docs":{},"认":{"docs":{},"存":{"docs":{},"放":{"docs":{},"在":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"s":{"docs":{},"/":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"的":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{},"d":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"若":{"docs":{},"改":{"docs":{},"用":{"docs":{},"k":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"命":{"docs":{},"令":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{},"d":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"的":{"docs":{},"p":{"docs":{},"i":{"docs":{},"d":{"docs":{},"号":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"控":{"docs":{},"制":{"docs":{},"。":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"报":{"docs":{},"错":{"docs":{},"的":{"docs":{},"话":{"docs":{},":":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}},"拉":{"docs":{},"取":{"docs":{},"前":{"docs":{},"端":{"docs":{},"项":{"docs":{},"目":{"docs":{},"到":{"docs":{},"本":{"docs":{},"地":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}},"指":{"docs":{},"定":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"运":{"docs":{},"行":{"docs":{},"用":{"docs":{},"户":{"docs":{},"和":{"docs":{},"组":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"地":{"docs":{},"址":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}},"包":{"docs":{},"括":{"docs":{},"工":{"docs":{},"作":{"docs":{},"流":{"docs":{},"的":{"docs":{},"创":{"docs":{},"建":{"docs":{},"、":{"docs":{},"定":{"docs":{},"义":{"docs":{},"、":{"docs":{},"查":{"docs":{},"询":{"docs":{},"、":{"docs":{},"修":{"docs":{},"改":{"docs":{},"、":{"docs":{},"发":{"docs":{},"布":{"docs":{},"、":{"docs":{},"下":{"docs":{},"线":{"docs":{},"、":{"docs":{},"手":{"docs":{},"工":{"docs":{},"启":{"docs":{},"动":{"docs":{},"、":{"docs":{},"停":{"docs":{},"止":{"docs":{},"、":{"docs":{},"暂":{"docs":{},"停":{"docs":{},"、":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"、":{"docs":{},"从":{"docs":{},"该":{"docs":{},"节":{"docs":{},"点":{"docs":{},"开":{"docs":{},"始":{"docs":{},"执":{"docs":{},"行":{"docs":{},"等":{"docs":{},"等":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"来":{"docs":{},"说":{"docs":{},"正":{"docs":{},"题":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"将":{"docs":{},"工":{"docs":{},"作":{"docs":{},"流":{"docs":{},"中":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"节":{"docs":{},"点":{"docs":{},"分":{"docs":{},"了":{"docs":{},"两":{"docs":{},"种":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}},"杀":{"docs":{},"死":{"docs":{},"进":{"docs":{},"程":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}},"注":{"docs":{},":":{"docs":{},"配":{"docs":{},"置":{"docs":{},"前":{"docs":{},"可":{"docs":{},"以":{"docs":{},"参":{"docs":{},"考":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}},"意":{"docs":{},"非":{"0":{"docs":{},"都":{"docs":{},"为":{"docs":{},"错":{"docs":{},"误":{"docs":{},"走":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}},"docs":{}},":":{"docs":{},"字":{"docs":{},"体":{"docs":{},"库":{"docs":{},"用":{"docs":{},"的":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"内":{"docs":{},"已":{"docs":{},"经":{"docs":{},"增":{"docs":{},"加":{"docs":{},"了":{"docs":{},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"插":{"docs":{},"件":{"docs":{},",":{"docs":{},"单":{"docs":{},"个":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"文":{"docs":{},"件":{"docs":{},"里":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"书":{"docs":{},"写":{"docs":{},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"语":{"docs":{},"法":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}},"由":{"docs":{},"于":{"docs":{},"”":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}},"在":{"docs":{},"全":{"docs":{},"部":{"docs":{},"服":{"docs":{},"务":{"docs":{},"都":{"docs":{},"启":{"docs":{},"动":{"docs":{},"之":{"docs":{},"后":{"docs":{},"启":{"docs":{},"动":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}},"管":{"docs":{},"理":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"环":{"docs":{},"境":{"docs":{},"搭":{"docs":{},"建":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":10}}}},"变":{"docs":{},"量":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"配":{"docs":{},"置":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}}}},"用":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"模":{"docs":{},"式":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}},"于":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"操":{"docs":{},"作":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}},"户":{"docs":{},"中":{"docs":{},"心":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841}}}},"管":{"docs":{},"理":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"直":{"docs":{},"接":{"docs":{},"运":{"docs":{},"行":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"即":{"docs":{},"可":{"docs":{},"启":{"docs":{},"动":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"将":{"docs":{},"使":{"docs":{},"用":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"若":{"docs":{},"要":{"docs":{},"改":{"docs":{},"用":{"docs":{},"其":{"docs":{},"他":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"需":{"docs":{},"添":{"docs":{},"加":{"docs":{},"\"":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"等":{"docs":{},"同":{"docs":{},"于":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627}}}}},"编":{"docs":{},"译":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}},"前":{"docs":{},"配":{"docs":{},"置":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}},"安":{"docs":{},"装":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}},"辑":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}},"脚":{"docs":{},"本":{"docs":{},"一":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"是":{"docs":{},"监":{"docs":{},"听":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"服":{"docs":{},"务":{"docs":{},"挂":{"docs":{},"掉":{"docs":{},"重":{"docs":{},"启":{"docs":{},"的":{"docs":{},"脚":{"docs":{},"本":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"法":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}},"访":{"docs":{},"问":{"docs":{},"地":{"docs":{},"址":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}},"端":{"docs":{},"口":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}},"运":{"docs":{},"行":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0034071550255536627}}}},"这":{"docs":{},"样":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"来":{"docs":{},"启":{"docs":{},"动":{"docs":{},"、":{"docs":{},"停":{"docs":{},"止":{"docs":{},"、":{"docs":{},"重":{"docs":{},"启":{"docs":{},"、":{"docs":{},"重":{"docs":{},"载":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"了":{"docs":{},"。":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"访":{"docs":{},"问":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}},"里":{"docs":{},"遵":{"docs":{},"循":{"docs":{},"每":{"docs":{},"个":{"docs":{},"语":{"docs":{},"言":{"docs":{},"的":{"docs":{},"特":{"docs":{},"性":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"在":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}},"首":{"docs":{},"先":{"docs":{},"要":{"docs":{},"区":{"docs":{},"分":{"docs":{},"任":{"docs":{},"务":{"docs":{},"失":{"docs":{},"败":{"docs":{},"重":{"docs":{},"试":{"docs":{},"、":{"docs":{},"流":{"docs":{},"程":{"docs":{},"失":{"docs":{},"败":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"、":{"docs":{},"流":{"docs":{},"程":{"docs":{},"失":{"docs":{},"败":{"docs":{},"重":{"docs":{},"跑":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},":":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"入":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}},"行":{"docs":{},"添":{"docs":{},"加":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"退":{"docs":{},"出":{"docs":{},"进":{"docs":{},"程":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}},"速":{"docs":{},"度":{"docs":{},"非":{"docs":{},"常":{"docs":{},"慢":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}},"配":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}},"文":{"docs":{},"件":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}},"地":{"docs":{},"址":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}},"路":{"docs":{},"径":{"docs":{},"\"":{"docs":{},"选":{"docs":{},"项":{"docs":{},"来":{"docs":{},"指":{"docs":{},"定":{"docs":{},"路":{"docs":{},"径":{"docs":{},"。":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"若":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"中":{"docs":{},"已":{"docs":{},"安":{"docs":{},"装":{"docs":{},"有":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"d":{"docs":{},"等":{"docs":{},"其":{"docs":{},"他":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"服":{"docs":{},"务":{"docs":{},"软":{"docs":{},"件":{"docs":{},",":{"docs":{},"应":{"docs":{},"采":{"docs":{},"取":{"docs":{},"措":{"docs":{},"施":{"docs":{},"(":{"docs":{},"修":{"docs":{},"改":{"docs":{},"端":{"docs":{},"口":{"docs":{},",":{"docs":{},"停":{"docs":{},"用":{"docs":{},"或":{"docs":{},"卸":{"docs":{},"载":{"docs":{},")":{"docs":{},"避":{"docs":{},"免":{"docs":{},"部":{"docs":{},"突":{"docs":{},"。":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"说":{"docs":{},"明":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}},"邮":{"docs":{},"件":{"docs":{},"告":{"docs":{},"警":{"docs":{},"信":{"docs":{},"息":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}},"释":{"docs":{},"放":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"源":{"docs":{},"码":{"docs":{},"包":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}},"重":{"docs":{},"启":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"服":{"docs":{},"务":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}},"载":{"docs":{},"配":{"docs":{},"置":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}},"写":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.04854368932038835}}}},"错":{"docs":{},"误":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}},",":{"docs":{},"请":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"后":{"docs":{},"再":{"docs":{},"次":{"docs":{},"执":{"docs":{},"行":{"docs":{},"以":{"docs":{},"下":{"docs":{},"命":{"docs":{},"令":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"问":{"docs":{},"题":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}},"静":{"docs":{},"态":{"docs":{},"文":{"docs":{},"件":{"docs":{},"目":{"docs":{},"录":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}},"项":{"docs":{},"目":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"地":{"docs":{},"址":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{},"拉":{"docs":{},"取":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"报":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"环":{"docs":{},"境":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}},"打":{"docs":{},"包":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"创":{"docs":{},"建":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},"为":{"docs":{},"后":{"docs":{},"缀":{"docs":{},"名":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"并":{"docs":{},"输":{"docs":{},"入":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}},"生":{"docs":{},"产":{"docs":{},"环":{"docs":{},"境":{"docs":{},"配":{"docs":{},"置":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}},"所":{"docs":{},"需":{"docs":{},"文":{"docs":{},"件":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"目":{"docs":{},"录":{"docs":{},"结":{"docs":{},"构":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":10.001166861143524}}}}}},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"资":{"docs":{},"源":{"docs":{},"本":{"docs":{},"地":{"docs":{},"化":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}},"管":{"docs":{},"理":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841}}}},"采":{"docs":{},"用":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"单":{"docs":{},"页":{"docs":{},"面":{"docs":{},"应":{"docs":{},"用":{"docs":{},"(":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},")":{"docs":{},"开":{"docs":{},"发":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}},"首":{"docs":{},"页":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"依":{"docs":{},"赖":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"包":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"各":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"和":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"文":{"docs":{},"件":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}},"编":{"docs":{},"译":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.003033367037411527}}}},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}},"!":{"docs":{},"!":{"docs":{},"!":{"docs":{},"这":{"docs":{},"里":{"docs":{},"特":{"docs":{},"别":{"docs":{},"注":{"docs":{},"意":{"docs":{"frontend-deploy.html":{"ref":"frontend-deploy.html","tf":0.0017035775127768314}}}}}}}}}}},"!":{"docs":{},"(":{"docs":{},"[":{"docs":{},"'":{"docs":{},"s":{"docs":{},"u":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"'":{"docs":{},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}},"'":{"docs":{},"#":{"2":{"docs":{},"f":{"docs":{},"b":{"docs":{},"f":{"docs":{},"d":{"8":{"docs":{},"'":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"docs":{}}}}}},"5":{"1":{"0":{"1":{"docs":{},"b":{"docs":{},"e":{"docs":{},"'":{"docs":{},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"&":{"docs":{},"#":{"docs":{},"x":{"docs":{},"e":{"6":{"8":{"docs":{},"c":{"docs":{},";":{"docs":{},"'":{"docs":{},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"docs":{}},"7":{"8":{"1":{"docs":{},";":{"docs":{},"'":{"docs":{},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"docs":{}},"docs":{}},"docs":{}}}}},".":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"'":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}},"/":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"'":{"docs":{},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"'":{"docs":{},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"'":{"docs":{},"]":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"v":{"docs":{},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"'":{"docs":{},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"'":{"docs":{},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"除":{"docs":{},"'":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}},"成":{"docs":{},"就":{"docs":{},"你":{"docs":{},"我":{"docs":{},"'":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"{":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"}":{"docs":{},"'":{"docs":{},";":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"}":{"docs":{},"'":{"docs":{},"@":{"docs":{},"'":{"docs":{},"%":{"docs":{},"'":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"'":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}},"@":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}},"_":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841}},"e":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"里":{"docs":{},"。":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"f":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}},"`":{"docs":{},"$":{"docs":{},"{":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"}":{"docs":{},",":{"docs":{},"前":{"docs":{},"端":{"docs":{},"工":{"docs":{},"程":{"docs":{},"师":{"docs":{},"`":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}},"i":{"1":{"8":{"docs":{},"n":{"docs":{},".":{"docs":{},"$":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"'":{"docs":{},")":{"docs":{},"}":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}},"拖":{"docs":{},"动":{"docs":{},"节":{"docs":{},"点":{"docs":{},"和":{"docs":{},"选":{"docs":{},"中":{"docs":{},"项":{"docs":{},"'":{"docs":{},")":{"docs":{},"}":{"docs":{},"`":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}},"等":{"docs":{},"待":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"'":{"docs":{},")":{"docs":{},"}":{"docs":{},"`":{"docs":{},",":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"8":{"8":{"8":{"8":{"docs":{},"/":{"docs":{},"#":{"docs":{},"/":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"`":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"`":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"/":{"docs":{},"$":{"docs":{},"{":{"docs":{},"对":{"docs":{},"应":{"docs":{},"页":{"docs":{},"面":{"docs":{},"文":{"docs":{},"件":{"docs":{},"名":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"/":{"docs":{},"$":{"docs":{},"{":{"docs":{},"对":{"docs":{},"应":{"docs":{},"页":{"docs":{},"面":{"docs":{},"文":{"docs":{},"件":{"docs":{},"名":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"/":{"docs":{},"$":{"docs":{},"{":{"docs":{},"对":{"docs":{},"应":{"docs":{},"页":{"docs":{},"面":{"docs":{},"文":{"docs":{},"件":{"docs":{},"名":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}},"└":{"docs":{},"─":{"docs":{},"─":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.008168028004667444}}}}},"├":{"docs":{},"─":{"docs":{},"─":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.004667444574095682},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}},"、":{"docs":{},"、":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"放":{"docs":{},"置":{"docs":{},"。":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}},"下":{"docs":{},"分":{"docs":{},"为":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"载":{"docs":{},"组":{"docs":{},"件":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}},"的":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.05825242718446602}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"、":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},".":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"和":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"路":{"docs":{},"径":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"面":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.003033367037411527}}}},"两":{"docs":{},"张":{"docs":{},"图":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841}}}},"个":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"文":{"docs":{},"件":{"docs":{},"复":{"docs":{},"制":{"docs":{},"到":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}}}}}}}}},"中":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}},"更":{"docs":{},"自":{"docs":{},"然":{"docs":{},"的":{"docs":{},"是":{"docs":{},"驼":{"docs":{},"峰":{"docs":{},"命":{"docs":{},"名":{"docs":{},"。":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}},"心":{"docs":{},"化":{"docs":{},"思":{"docs":{},"想":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}},"设":{"docs":{},"计":{"docs":{},"存":{"docs":{},"在":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},":":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},"理":{"docs":{},"念":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"集":{"docs":{},"群":{"docs":{},"中":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"按":{"docs":{},"照":{"docs":{},"角":{"docs":{},"色":{"docs":{},"分":{"docs":{},"工":{"docs":{},",":{"docs":{},"大":{"docs":{},"体":{"docs":{},"上":{"docs":{},"分":{"docs":{},"为":{"docs":{},"两":{"docs":{},"种":{"docs":{},"角":{"docs":{},"色":{"docs":{},":":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"值":{"docs":{},",":{"docs":{},"替":{"docs":{},"换":{"docs":{},"成":{"docs":{},"自":{"docs":{},"身":{"docs":{},"业":{"docs":{},"务":{"docs":{},"所":{"docs":{},"需":{"docs":{},"的":{"docs":{},"值":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"任":{"docs":{},"务":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.019417475728155338}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"中":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}},"二":{"docs":{},"次":{"docs":{},"开":{"docs":{},"发":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"新":{"docs":{},"引":{"docs":{},"入":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"库":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}},"、":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"锁":{"docs":{},"实":{"docs":{},"践":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}},"代":{"docs":{},"表":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"主":{"docs":{},"要":{"docs":{},"用":{"docs":{},"于":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841}}}}}}}}}}},"例":{"docs":{},"如":{"docs":{},":":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"}":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}},"值":{"docs":{},"使":{"docs":{},"更":{"docs":{},"新":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"做":{"docs":{},"标":{"docs":{},"识":{"docs":{},"。":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"先":{"docs":{},"将":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"小":{"docs":{},"图":{"docs":{},"标":{"docs":{},"放":{"docs":{},"置":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"/":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"/":{"docs":{},"i":{"docs":{},"m":{"docs":{},"g":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"内":{"docs":{},",":{"docs":{},"注":{"docs":{},"意":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"入":{"docs":{},"口":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"文":{"docs":{},"件":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"公":{"docs":{},"共":{"docs":{},"图":{"docs":{},"片":{"docs":{},"存":{"docs":{},"放":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"模":{"docs":{},"块":{"docs":{},"及":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}},"部":{"docs":{},"分":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}},"司":{"docs":{},"内":{"docs":{},"部":{"docs":{},"组":{"docs":{},"件":{"docs":{},"(":{"docs":{},"公":{"docs":{},"司":{"docs":{},"组":{"docs":{},"件":{"docs":{},"库":{"docs":{},"开":{"docs":{},"源":{"docs":{},"后":{"docs":{},"可":{"docs":{},"删":{"docs":{},"掉":{"docs":{},")":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}},"具":{"docs":{},"体":{"docs":{},"操":{"docs":{},"作":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"j":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"z":{"docs":{},"h":{"docs":{},"/":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"j":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"z":{"docs":{},"h":{"docs":{},"/":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"/":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"/":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"j":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"是":{"docs":{},"根":{"docs":{},"据":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"解":{"docs":{},"析":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"把":{"docs":{},"*":{"docs":{},"*":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"_":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"i":{"docs":{},"d":{"docs":{},"_":{"docs":{},"任":{"docs":{},"务":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"_":{"docs":{},"任":{"docs":{},"务":{"docs":{},"i":{"docs":{},"d":{"docs":{},"*":{"docs":{},"*":{"docs":{},"信":{"docs":{},"息":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"任":{"docs":{},"务":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},",":{"docs":{},"当":{"docs":{},"从":{"docs":{},"任":{"docs":{},"务":{"docs":{},"队":{"docs":{},"列":{"docs":{},"获":{"docs":{},"取":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"比":{"docs":{},"较":{"docs":{},"即":{"docs":{},"可":{"docs":{},"得":{"docs":{},"出":{"docs":{},"最":{"docs":{},"需":{"docs":{},"要":{"docs":{},"优":{"docs":{},"先":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"部":{"docs":{},"项":{"docs":{},"目":{"docs":{},"公":{"docs":{},"共":{"docs":{},"组":{"docs":{},"件":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"名":{"docs":{},"统":{"docs":{},"一":{"docs":{},"使":{"docs":{},"用":{"docs":{},"驼":{"docs":{},"峰":{"docs":{},"命":{"docs":{},"名":{"docs":{},",":{"docs":{},"以":{"docs":{},"大":{"docs":{},"写":{"docs":{},"字":{"docs":{},"母":{"docs":{},"开":{"docs":{},"头":{"docs":{},"申":{"docs":{},"明":{"docs":{},"的":{"docs":{},"都":{"docs":{},"是":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"小":{"docs":{},"写":{"docs":{},"字":{"docs":{},"母":{"docs":{},"开":{"docs":{},"头":{"docs":{},"的":{"docs":{},"都":{"docs":{},"是":{"docs":{},"普":{"docs":{},"通":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"该":{"docs":{},"使":{"docs":{},"用":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"分":{"docs":{},"为":{"docs":{},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"布":{"docs":{},"式":{"docs":{},"调":{"docs":{},"度":{"docs":{},"器":{"docs":{},",":{"docs":{},"并":{"docs":{},"同":{"docs":{},"时":{"docs":{},"支":{"docs":{},"持":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"表":{"docs":{},"达":{"docs":{},"式":{"docs":{},"可":{"docs":{},"视":{"docs":{},"化":{"docs":{},"的":{"docs":{},"生":{"docs":{},"成":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}},"部":{"docs":{},"署":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}},"别":{"docs":{},"名":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"匿":{"docs":{},"名":{"docs":{},"函":{"docs":{},"数":{"docs":{},"统":{"docs":{},"一":{"docs":{},"使":{"docs":{},"用":{"docs":{},"箭":{"docs":{},"头":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"多":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"/":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"时":{"docs":{},"优":{"docs":{},"先":{"docs":{},"使":{"docs":{},"用":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"结":{"docs":{},"构":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"。":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"反":{"docs":{},"例":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"告":{"docs":{},"警":{"docs":{},"组":{"docs":{},"管":{"docs":{},"理":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"和":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841},"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384},"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.004044489383215369}},"各":{"docs":{},"个":{"docs":{},"其":{"docs":{},"它":{"docs":{},"机":{"docs":{},"器":{"docs":{},"s":{"docs":{},"s":{"docs":{},"h":{"docs":{},"打":{"docs":{},"通":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}},"国":{"docs":{},"际":{"docs":{},"化":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}},"图":{"docs":{},"片":{"docs":{},"下":{"docs":{},"载":{"docs":{},"处":{"docs":{},"理":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"表":{"docs":{},"组":{"docs":{},"件":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"在":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"/":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{},"(":{"docs":{},"例":{"docs":{},"如":{"docs":{},":":{"docs":{},")":{"docs":{},"上":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}},"引":{"docs":{},"用":{"docs":{},"外":{"docs":{},"部":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"执":{"docs":{},"行":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"去":{"docs":{},"中":{"docs":{},"心":{"docs":{},"化":{"docs":{},"设":{"docs":{},"计":{"docs":{},"里":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"没":{"docs":{},"有":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"角":{"docs":{},"色":{"docs":{},"都":{"docs":{},"是":{"docs":{},"一":{"docs":{},"样":{"docs":{},"的":{"docs":{},",":{"docs":{},"地":{"docs":{},"位":{"docs":{},"是":{"docs":{},"平":{"docs":{},"等":{"docs":{},"的":{"docs":{},",":{"docs":{},"全":{"docs":{},"球":{"docs":{},"互":{"docs":{},"联":{"docs":{},"网":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{},"去":{"docs":{},"中":{"docs":{},"心":{"docs":{},"化":{"docs":{},"的":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"联":{"docs":{},"网":{"docs":{},"的":{"docs":{},"任":{"docs":{},"意":{"docs":{},"节":{"docs":{},"点":{"docs":{},"设":{"docs":{},"备":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"机":{"docs":{},",":{"docs":{},"都":{"docs":{},"只":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"很":{"docs":{},"小":{"docs":{},"范":{"docs":{},"围":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"系":{"docs":{},"统":{"docs":{},"架":{"docs":{},"构":{"docs":{},"说":{"docs":{},"明":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"先":{"docs":{},"来":{"docs":{},"认":{"docs":{},"识":{"docs":{},"一":{"docs":{},"下":{"docs":{},"调":{"docs":{},"度":{"docs":{},"系":{"docs":{},"统":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"名":{"docs":{},"词":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"早":{"docs":{},"期":{"docs":{},"调":{"docs":{},"度":{"docs":{},"设":{"docs":{},"计":{"docs":{},"中":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"设":{"docs":{},"计":{"docs":{},",":{"docs":{},"采":{"docs":{},"用":{"docs":{},"公":{"docs":{},"平":{"docs":{},"调":{"docs":{},"度":{"docs":{},"设":{"docs":{},"计":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"会":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"先":{"docs":{},"行":{"docs":{},"提":{"docs":{},"交":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"和":{"docs":{},"后":{"docs":{},"继":{"docs":{},"提":{"docs":{},"交":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"同":{"docs":{},"时":{"docs":{},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"能":{"docs":{},"做":{"docs":{},"到":{"docs":{},"设":{"docs":{},"置":{"docs":{},"流":{"docs":{},"程":{"docs":{},"或":{"docs":{},"者":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"我":{"docs":{},"们":{"docs":{},"对":{"docs":{},"此":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"重":{"docs":{},"新":{"docs":{},"设":{"docs":{},"计":{"docs":{},",":{"docs":{},"目":{"docs":{},"前":{"docs":{},"我":{"docs":{},"们":{"docs":{},"设":{"docs":{},"计":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"部":{"docs":{},"署":{"docs":{},"调":{"docs":{},"度":{"docs":{},"的":{"docs":{},"机":{"docs":{},"器":{"docs":{},"上":{"docs":{},"如":{"docs":{},"上":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}},"基":{"docs":{},"于":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"o":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}}}},"y":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"的":{"docs":{},"计":{"docs":{},"算":{"docs":{},"(":{"docs":{},"参":{"docs":{},"见":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},")":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}}}}}}}}}}}}}}}}}}}},"非":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"(":{"docs":{},"参":{"docs":{},"见":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},")":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"的":{"docs":{},"计":{"docs":{},"算":{"docs":{},"(":{"docs":{},"参":{"docs":{},"见":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},")":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}}}}}}}}}}}}}}}}}},"础":{"docs":{},"服":{"docs":{},"务":{"docs":{},"启":{"docs":{},"动":{"docs":{},"脚":{"docs":{},"本":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}},"软":{"docs":{},"件":{"docs":{},"安":{"docs":{},"装":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}},"增":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}},"种":{"docs":{},"资":{"docs":{},"源":{"docs":{},"不":{"docs":{},"足":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"不":{"docs":{},"足":{"docs":{},",":{"docs":{},"则":{"docs":{},"将":{"docs":{},"主":{"docs":{},"流":{"docs":{},"程":{"docs":{},"挂":{"docs":{},"起":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"就":{"docs":{},"有":{"docs":{},"了":{"docs":{},"新":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"让":{"docs":{},"资":{"docs":{},"源":{"docs":{},"不":{"docs":{},"足":{"docs":{},"挂":{"docs":{},"起":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"重":{"docs":{},"新":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"验":{"docs":{},"证":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841}}}}}}},"字":{"docs":{},"体":{"docs":{},"图":{"docs":{},"标":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"库":{"docs":{},"可":{"docs":{},"访":{"docs":{},"问":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}},"存":{"docs":{},"储":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"过":{"docs":{},"程":{"docs":{},"需":{"docs":{},"要":{"docs":{},"安":{"docs":{},"装":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}},"定":{"docs":{},"义":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"的":{"docs":{},"函":{"docs":{},"数":{"docs":{},"可":{"docs":{},"以":{"docs":{},"随":{"docs":{},"便":{"docs":{},"放":{"docs":{},"在":{"docs":{},"任":{"docs":{},"何":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}},"时":{"docs":{},"器":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"文":{"docs":{},"件":{"docs":{},"则":{"docs":{},"在":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"文":{"docs":{},"件":{"docs":{},"则":{"docs":{},"在":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}},"象":{"docs":{},",":{"docs":{},"往":{"docs":{},"里":{"docs":{},"增":{"docs":{},"加":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.003500583430571762}}}}}}}},"于":{"docs":{},"启":{"docs":{},"动":{"docs":{},"新":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"打":{"docs":{},"破":{"docs":{},"僵":{"docs":{},"局":{"docs":{},",":{"docs":{},"似":{"docs":{},"乎":{"docs":{},"有":{"docs":{},"点":{"docs":{},"差":{"docs":{},"强":{"docs":{},"人":{"docs":{},"意":{"docs":{},",":{"docs":{},"于":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"提":{"docs":{},"出":{"docs":{},"了":{"docs":{},"以":{"docs":{},"下":{"docs":{},"三":{"docs":{},"种":{"docs":{},"方":{"docs":{},"案":{"docs":{},"来":{"docs":{},"降":{"docs":{},"低":{"docs":{},"这":{"docs":{},"种":{"docs":{},"风":{"docs":{},"险":{"docs":{},":":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"单":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"进":{"docs":{},"行":{"docs":{},"判":{"docs":{},"断":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"已":{"docs":{},"经":{"docs":{},"满":{"docs":{},"了":{"docs":{},",":{"docs":{},"则":{"docs":{},"让":{"docs":{},"线":{"docs":{},"程":{"docs":{},"直":{"docs":{},"接":{"docs":{},"失":{"docs":{},"败":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"属":{"docs":{},"于":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"节":{"docs":{},"点":{"docs":{},"组":{"docs":{},"件":{"docs":{},"内":{"docs":{},"的":{"docs":{},"必":{"docs":{},"须":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}},"性":{"docs":{},"。":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"5":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}},"docs":{}}}}}},"尽":{"docs":{},"量":{"docs":{},"使":{"docs":{},"用":{"docs":{},"缩":{"docs":{},"写":{"docs":{},",":{"docs":{},"提":{"docs":{},"高":{"docs":{},"代":{"docs":{},"码":{"docs":{},"的":{"docs":{},"效":{"docs":{},"率":{"docs":{},"和":{"docs":{},"方":{"docs":{},"便":{"docs":{},"理":{"docs":{},"解":{"docs":{},"。":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"没":{"docs":{},"必":{"docs":{},"要":{"docs":{},"指":{"docs":{},"定":{"docs":{},"。":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}},"工":{"docs":{},"作":{"docs":{},"流":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"定":{"docs":{},"义":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"实":{"docs":{},"例":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"具":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"图":{"docs":{},"标":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"标":{"docs":{},"识":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"类":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"都":{"docs":{},"以":{"docs":{},"一":{"docs":{},"个":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"返":{"docs":{},"回":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}},"应":{"docs":{},"该":{"docs":{},"总":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"给":{"docs":{},"一":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"文":{"docs":{},"件":{"docs":{},"写":{"docs":{},"一":{"docs":{},"个":{"docs":{},"区":{"docs":{},"块":{"docs":{},"注":{"docs":{},"释":{"docs":{},"。":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}},"避":{"docs":{},"免":{"docs":{},"与":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"议":{"docs":{},"不":{"docs":{},"再":{"docs":{},"使":{"docs":{},"用":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}},"形":{"docs":{},"式":{"docs":{},"返":{"docs":{},"回":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"或":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}},"打":{"docs":{},"包":{"docs":{},"及":{"docs":{},"开":{"docs":{},"发":{"docs":{},"环":{"docs":{},"境":{"docs":{},"项":{"docs":{},"目":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"配":{"docs":{},"置":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}},"找":{"docs":{},"到":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.003500583430571762}},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"/":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"启":{"docs":{},"动":{"docs":{},"和":{"docs":{},"定":{"docs":{},"时":{"docs":{},"邮":{"docs":{},"箱":{"docs":{},"地":{"docs":{},"址":{"docs":{},"输":{"docs":{},"入":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"动":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"匹":{"docs":{},"配":{"docs":{},"。":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"”":{"docs":{},"正":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"”":{"docs":{},"和":{"docs":{},"“":{"docs":{},"提":{"docs":{},"交":{"docs":{},"成":{"docs":{},"功":{"docs":{},"”":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"对":{"docs":{},"”":{"docs":{},"正":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"”":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"监":{"docs":{},"控":{"docs":{},"其":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"对":{"docs":{},"”":{"docs":{},"提":{"docs":{},"交":{"docs":{},"成":{"docs":{},"功":{"docs":{},"”":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"需":{"docs":{},"要":{"docs":{},"判":{"docs":{},"断":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"技":{"docs":{},"术":{"docs":{},"选":{"docs":{},"型":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"拖":{"docs":{},"拽":{"docs":{},"线":{"docs":{},"条":{"docs":{},"处":{"docs":{},"理":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}},"操":{"docs":{},"作":{"docs":{},"则":{"docs":{},"在":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"符":{"docs":{},"去":{"docs":{},"操":{"docs":{},"作":{"docs":{},"普":{"docs":{},"通":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}},"放":{"docs":{},"到":{"docs":{},"容":{"docs":{},"器":{"docs":{},"的":{"docs":{},"父":{"docs":{},"元":{"docs":{},"素":{"docs":{},"之":{"docs":{},"上":{"docs":{},"。":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"中":{"docs":{},"心":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"管":{"docs":{},"理":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}},"库":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}},"组":{"docs":{},"/":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},"应":{"docs":{},"该":{"docs":{},"由":{"docs":{},"一":{"docs":{},"个":{"docs":{},"工":{"docs":{},"厂":{"docs":{},"函":{"docs":{},"数":{"docs":{},"返":{"docs":{},"回":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}},"无":{"docs":{},"数":{"docs":{},"据":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}},"时":{"docs":{},"不":{"docs":{},"写":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"渲":{"docs":{},"染":{"docs":{},"效":{"docs":{},"率":{"docs":{},"更":{"docs":{},"高":{"docs":{},"。":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}},"显":{"docs":{},"示":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"权":{"docs":{},"限":{"docs":{},"操":{"docs":{},"作":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"根":{"docs":{},"据":{"docs":{},"后":{"docs":{},"端":{"docs":{},"接":{"docs":{},"口":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"接":{"docs":{},"口":{"docs":{},"给":{"docs":{},"出":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"是":{"docs":{},"免":{"docs":{},"密":{"docs":{},"的":{"docs":{},"。":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}},"标":{"docs":{},"准":{"docs":{},"。":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"签":{"docs":{},"冲":{"docs":{},"突":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"结":{"docs":{},"构":{"docs":{},"更":{"docs":{},"加":{"docs":{},"清":{"docs":{},"晰":{"docs":{},"。":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}},"记":{"docs":{},"中":{"docs":{},"对":{"docs":{},"大":{"docs":{},"小":{"docs":{},"写":{"docs":{},"是":{"docs":{},"不":{"docs":{},"敏":{"docs":{},"感":{"docs":{},"的":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"连":{"docs":{},"接":{"docs":{},"线":{"docs":{},"更":{"docs":{},"加":{"docs":{},"友":{"docs":{},"好":{"docs":{},";":{"docs":{},"而":{"docs":{},"在":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}}}}}},"样":{"docs":{},"式":{"docs":{},"后":{"docs":{},"续":{"docs":{},"都":{"docs":{},"是":{"docs":{},"打":{"docs":{},"包":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},"里":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"在":{"docs":{},"单":{"docs":{},"个":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"样":{"docs":{},"式":{"docs":{},",":{"docs":{},"在":{"docs":{},"别":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"里":{"docs":{},"同":{"docs":{},"类":{"docs":{},"名":{"docs":{},"的":{"docs":{},"样":{"docs":{},"式":{"docs":{},"也":{"docs":{},"是":{"docs":{},"会":{"docs":{},"生":{"docs":{},"效":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"在":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"组":{"docs":{},"件":{"docs":{},"前":{"docs":{},"都":{"docs":{},"会":{"docs":{},"有":{"docs":{},"个":{"docs":{},"顶":{"docs":{},"级":{"docs":{},"类":{"docs":{},"名":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"正":{"docs":{},"例":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.003500583430571762}}},"常":{"docs":{},"返":{"docs":{},"回":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"编":{"docs":{},"译":{"docs":{},"完":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"目":{"docs":{},"录":{"docs":{},"生":{"docs":{},"成":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}},"每":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},"都":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"*":{"docs":{},"*":{"docs":{},"业":{"docs":{},"务":{"docs":{},"节":{"docs":{},"点":{"docs":{},"*":{"docs":{},"*":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"配":{"docs":{},"置":{"docs":{},"失":{"docs":{},"败":{"docs":{},"重":{"docs":{},"试":{"docs":{},"的":{"docs":{},"次":{"docs":{},"数":{"docs":{},",":{"docs":{},"当":{"docs":{},"该":{"docs":{},"任":{"docs":{},"务":{"docs":{},"节":{"docs":{},"点":{"docs":{},"失":{"docs":{},"败":{"docs":{},",":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"重":{"docs":{},"试":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"成":{"docs":{},"功":{"docs":{},"或":{"docs":{},"者":{"docs":{},"超":{"docs":{},"过":{"docs":{},"配":{"docs":{},"置":{"docs":{},"的":{"docs":{},"重":{"docs":{},"试":{"docs":{},"次":{"docs":{},"数":{"docs":{},"。":{"docs":{},"*":{"docs":{},"*":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"节":{"docs":{},"点":{"docs":{},"*":{"docs":{},"*":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"失":{"docs":{},"败":{"docs":{},"重":{"docs":{},"试":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"节":{"docs":{},"点":{"docs":{},"里":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"支":{"docs":{},"持":{"docs":{},"重":{"docs":{},"试":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206},"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.038834951456310676}},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"比":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"命":{"docs":{},"名":{"docs":{},"应":{"docs":{},"该":{"docs":{},"语":{"docs":{},"义":{"docs":{},"化":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"看":{"docs":{},"名":{"docs":{},"字":{"docs":{},"就":{"docs":{},"知":{"docs":{},"道":{"docs":{},"是":{"docs":{},"干":{"docs":{},"嘛":{"docs":{},"的":{"docs":{},";":{"docs":{},"多":{"docs":{},"个":{"docs":{},"单":{"docs":{},"词":{"docs":{},"用":{"docs":{},"连":{"docs":{},"接":{"docs":{},"线":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"应":{"docs":{},"该":{"docs":{},"尽":{"docs":{},"量":{"docs":{},"详":{"docs":{},"细":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"其":{"docs":{},"类":{"docs":{},"型":{"docs":{},"、":{"docs":{},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{},"和":{"docs":{},"验":{"docs":{},"证":{"docs":{},"。":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"式":{"docs":{},"管":{"docs":{},"理":{"docs":{},"项":{"docs":{},"目":{"docs":{},"的":{"docs":{},"模":{"docs":{},"块":{"docs":{},"。":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}},"时":{"docs":{},"候":{"docs":{},"应":{"docs":{},"该":{"docs":{},"始":{"docs":{},"终":{"docs":{},"以":{"docs":{},"驼":{"docs":{},"峰":{"docs":{},"格":{"docs":{},"式":{"docs":{},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"l":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},")":{"docs":{},"命":{"docs":{},"名":{"docs":{},",":{"docs":{},"在":{"docs":{},"父":{"docs":{},"组":{"docs":{},"件":{"docs":{},"赋":{"docs":{},"值":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"使":{"docs":{},"用":{"docs":{},"连":{"docs":{},"接":{"docs":{},"线":{"docs":{},"(":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}}}},"配":{"docs":{},"置":{"docs":{},"来":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"启":{"docs":{},"动":{"docs":{},"h":{"docs":{},"d":{"docs":{},"f":{"docs":{},"s":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"启":{"docs":{},"动":{"docs":{},",":{"docs":{},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{},"创":{"docs":{},"建":{"docs":{},"h":{"docs":{},"d":{"docs":{},"f":{"docs":{},"s":{"docs":{},"根":{"docs":{},"路":{"docs":{},"径":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"相":{"docs":{},"关":{"docs":{},"接":{"docs":{},"口":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.007001166861143524}},"路":{"docs":{},"径":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}},"示":{"docs":{},"例":{"docs":{},":":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}},"租":{"docs":{},"户":{"docs":{},"管":{"docs":{},"理":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"组":{"docs":{},"件":{"docs":{},"名":{"docs":{},"为":{"docs":{},"多":{"docs":{},"个":{"docs":{},"单":{"docs":{},"词":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"用":{"docs":{},"连":{"docs":{},"接":{"docs":{},"线":{"docs":{},"(":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}},"统":{"docs":{},"一":{"docs":{},"使":{"docs":{},"用":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"放":{"docs":{},"在":{"docs":{},"文":{"docs":{},"件":{"docs":{},"顶":{"docs":{},"部":{"docs":{},"。":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}},"节":{"docs":{},"点":{"docs":{},"组":{"docs":{},"件":{"docs":{},"内":{"docs":{},"部":{"docs":{},"所":{"docs":{},"用":{"docs":{},"到":{"docs":{},"公":{"docs":{},"共":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},"都":{"docs":{},"在":{"docs":{},"_":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"下":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"用":{"docs":{},"与":{"docs":{},"配":{"docs":{},"置":{"docs":{},"公":{"docs":{},"共":{"docs":{},"数":{"docs":{},"据":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"若":{"docs":{},"同":{"docs":{},"一":{"docs":{},"组":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"规":{"docs":{},"范":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"详":{"docs":{},"情":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"j":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"z":{"docs":{},"h":{"docs":{},"/":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"/":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"资":{"docs":{},"源":{"docs":{},"中":{"docs":{},"心":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"管":{"docs":{},"理":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.002333722287047841}}}}}},"路":{"docs":{},"由":{"docs":{},"和":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"地":{"docs":{},"址":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},"文":{"docs":{},"件":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}},"对":{"docs":{},"应":{"docs":{},"组":{"docs":{},"件":{"docs":{},"入":{"docs":{},"口":{"docs":{},"文":{"docs":{},"件":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}},"指":{"docs":{},"向":{"docs":{},"页":{"docs":{},"面":{"docs":{},"目":{"docs":{},"录":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}},"管":{"docs":{},"理":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"连":{"docs":{},"接":{"docs":{},"。":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"线":{"docs":{},"插":{"docs":{},"件":{"docs":{},"库":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"逻":{"docs":{},"辑":{"docs":{},"控":{"docs":{},"制":{"docs":{},"中":{"docs":{},"的":{"docs":{},"元":{"docs":{},"素":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}},"遍":{"docs":{},"历":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"总":{"docs":{},"是":{"docs":{},"应":{"docs":{},"该":{"docs":{},"带":{"docs":{},"上":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}},"都":{"docs":{},"会":{"docs":{},"注":{"docs":{},"册":{"docs":{},"进":{"docs":{},"来":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}},"是":{"docs":{},"以":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}},"里":{"docs":{},"的":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.003500583430571762}}}},"页":{"docs":{},"面":{"docs":{},"文":{"docs":{},"件":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"首":{"docs":{},"先":{"docs":{},"在":{"docs":{},"路":{"docs":{},"由":{"docs":{},"管":{"docs":{},"理":{"docs":{},"增":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"路":{"docs":{},"由":{"docs":{},"地":{"docs":{},"址":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"/":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"/":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"j":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"页":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"验":{"docs":{},"证":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}},"函":{"docs":{},"数":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},"讲":{"docs":{},"当":{"docs":{},"前":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"相":{"docs":{},"关":{"docs":{},"数":{"docs":{},"据":{"docs":{},"往":{"docs":{},"父":{"docs":{},"组":{"docs":{},"件":{"docs":{},"抛":{"docs":{},"。":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}}}}}}}}}}}}}}},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"的":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}},"默":{"docs":{},"认":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}},"鼠":{"docs":{},"标":{"docs":{},"缩":{"docs":{},"放":{"docs":{},"效":{"docs":{},"果":{"docs":{},"处":{"docs":{},"理":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}}},")":{"docs":{},"。":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"避":{"docs":{},"免":{"docs":{},"与":{"docs":{"frontend-development.html":{"ref":"frontend-development.html","tf":0.0011668611435239206}}}}}}}}},"三":{"docs":{},"、":{"docs":{},"线":{"docs":{},"程":{"docs":{},"不":{"docs":{},"足":{"docs":{},"循":{"docs":{},"环":{"docs":{},"等":{"docs":{},"待":{"docs":{},"问":{"docs":{},"题":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"单":{"docs":{},"独":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"单":{"docs":{},"独":{"docs":{},"启":{"docs":{},"动":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}},"于":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"选":{"docs":{},"择":{"docs":{},"了":{"docs":{},"第":{"docs":{},"三":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"来":{"docs":{},"解":{"docs":{},"决":{"docs":{},"线":{"docs":{},"程":{"docs":{},"不":{"docs":{},"足":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}},"五":{"docs":{},"、":{"docs":{},"任":{"docs":{},"务":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"设":{"docs":{},"计":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}},"介":{"docs":{},"于":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"到":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"的":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"轻":{"docs":{},"量":{"docs":{},"级":{"docs":{},"性":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"选":{"docs":{},"择":{"docs":{},"了":{"docs":{},"g":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"实":{"docs":{},"现":{"docs":{},"远":{"docs":{},"程":{"docs":{},"访":{"docs":{},"问":{"docs":{},"日":{"docs":{},"志":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"全":{"docs":{},"称":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}},"六":{"docs":{},"、":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"和":{"docs":{},"g":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"实":{"docs":{},"现":{"docs":{},"日":{"docs":{},"志":{"docs":{},"访":{"docs":{},"问":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}},"另":{"docs":{},"外":{"docs":{},"一":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},"是":{"docs":{},"如":{"docs":{},"果":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"在":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"上":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"可":{"docs":{},"以":{"docs":{},"支":{"docs":{},"持":{"docs":{},"一":{"docs":{},"个":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"中":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"机":{"docs":{},"器":{"docs":{},"上":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"过":{"docs":{},"负":{"docs":{},"载":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"在":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"上":{"docs":{},",":{"docs":{},"则":{"docs":{},"一":{"docs":{},"个":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"中":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"都":{"docs":{},"只":{"docs":{},"能":{"docs":{},"在":{"docs":{},"某":{"docs":{},"一":{"docs":{},"台":{"docs":{},"机":{"docs":{},"器":{"docs":{},"上":{"docs":{},"进":{"docs":{},"行":{"docs":{},"作":{"docs":{},"业":{"docs":{},"提":{"docs":{},"交":{"docs":{},",":{"docs":{},"则":{"docs":{},"并":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"比":{"docs":{},"较":{"docs":{},"多":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"的":{"docs":{},"压":{"docs":{},"力":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"比":{"docs":{},"较":{"docs":{},"大":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"四":{"docs":{},"、":{"docs":{},"容":{"docs":{},"错":{"docs":{},"设":{"docs":{},"计":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}},"宕":{"docs":{},"机":{"docs":{},"容":{"docs":{},"错":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}},"容":{"docs":{},"错":{"docs":{},"分":{"docs":{},"为":{"docs":{},"服":{"docs":{},"务":{"docs":{},"宕":{"docs":{},"机":{"docs":{},"容":{"docs":{},"错":{"docs":{},"和":{"docs":{},"任":{"docs":{},"务":{"docs":{},"重":{"docs":{},"试":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"宕":{"docs":{},"机":{"docs":{},"容":{"docs":{},"错":{"docs":{},"又":{"docs":{},"分":{"docs":{},"为":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"容":{"docs":{},"错":{"docs":{},"和":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"容":{"docs":{},"错":{"docs":{},"两":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"日":{"docs":{},"志":{"docs":{},"放":{"docs":{},"到":{"docs":{},"e":{"docs":{},"s":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"上":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}},".":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}}}}}}}}}}}}}}}}},"总":{"docs":{},"结":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}},"我":{"docs":{},"们":{"docs":{},"也":{"docs":{},"曾":{"docs":{},"经":{"docs":{},"基":{"docs":{},"于":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"实":{"docs":{},"现":{"docs":{},"过":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"不":{"docs":{},"过":{"docs":{},"我":{"docs":{},"们":{"docs":{},"希":{"docs":{},"望":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"到":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},"尽":{"docs":{},"量":{"docs":{},"地":{"docs":{},"少":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"最":{"docs":{},"后":{"docs":{},"还":{"docs":{},"是":{"docs":{},"去":{"docs":{},"掉":{"docs":{},"了":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"每":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"日":{"docs":{},"志":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"docs":{},"照":{"docs":{},"*":{"docs":{},"*":{"docs":{},"不":{"docs":{},"同":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"*":{"docs":{},"*":{"docs":{},"优":{"docs":{},"先":{"docs":{},"于":{"docs":{},"*":{"docs":{},"*":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"*":{"docs":{},"*":{"docs":{},"优":{"docs":{},"先":{"docs":{},"于":{"docs":{},"*":{"docs":{},"*":{"docs":{},"同":{"docs":{},"一":{"docs":{},"流":{"docs":{},"程":{"docs":{},"内":{"docs":{},"任":{"docs":{},"务":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"*":{"docs":{},"*":{"docs":{},"优":{"docs":{},"先":{"docs":{},"于":{"docs":{},"*":{"docs":{},"*":{"docs":{},"同":{"docs":{},"一":{"docs":{},"流":{"docs":{},"程":{"docs":{},"内":{"docs":{},"任":{"docs":{},"务":{"docs":{},"*":{"docs":{},"*":{"docs":{},"提":{"docs":{},"交":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"依":{"docs":{},"次":{"docs":{},"从":{"docs":{},"高":{"docs":{},"到":{"docs":{},"低":{"docs":{},"进":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"任":{"docs":{},"务":{"docs":{},"队":{"docs":{},"列":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"目":{"docs":{},"前":{"docs":{},"队":{"docs":{},"列":{"docs":{},"也":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"队":{"docs":{},"列":{"docs":{},"中":{"docs":{},"存":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"较":{"docs":{},"少":{"docs":{},",":{"docs":{},"不":{"docs":{},"必":{"docs":{},"担":{"docs":{},"心":{"docs":{},"队":{"docs":{},"列":{"docs":{},"里":{"docs":{},"数":{"docs":{},"据":{"docs":{},"过":{"docs":{},"多":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"我":{"docs":{},"们":{"docs":{},"压":{"docs":{},"测":{"docs":{},"过":{"docs":{},"百":{"docs":{},"万":{"docs":{},"级":{"docs":{},"数":{"docs":{},"据":{"docs":{},"存":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"对":{"docs":{},"系":{"docs":{},"统":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"性":{"docs":{},"和":{"docs":{},"性":{"docs":{},"能":{"docs":{},"没":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"告":{"docs":{},"警":{"docs":{},"相":{"docs":{},"关":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"接":{"docs":{},"口":{"docs":{},"主":{"docs":{},"要":{"docs":{},"包":{"docs":{},"括":{"docs":{},"告":{"docs":{},"警":{"docs":{},"两":{"docs":{},"种":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"告":{"docs":{},"警":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"存":{"docs":{},"储":{"docs":{},"、":{"docs":{},"查":{"docs":{},"询":{"docs":{},"和":{"docs":{},"通":{"docs":{},"知":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{},"其":{"docs":{},"中":{"docs":{},"通":{"docs":{},"知":{"docs":{},"功":{"docs":{},"能":{"docs":{},"又":{"docs":{},"有":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"通":{"docs":{},"知":{"docs":{},"和":{"docs":{},"s":{"docs":{},"n":{"docs":{},"m":{"docs":{},"p":{"docs":{},"(":{"docs":{},"暂":{"docs":{},"未":{"docs":{},"实":{"docs":{},"现":{"docs":{},")":{"docs":{},"两":{"docs":{},"种":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"醒":{"docs":{},":":{"docs":{},"目":{"docs":{},"前":{"docs":{},"任":{"docs":{},"务":{"docs":{},"插":{"docs":{},"件":{"docs":{},"开":{"docs":{},"发":{"docs":{},"暂":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"热":{"docs":{},"部":{"docs":{},"署":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"容":{"docs":{},"错":{"docs":{},"设":{"docs":{},"计":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"原":{"docs":{},"理":{"docs":{},"如":{"docs":{},"图":{"docs":{},":":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"监":{"docs":{},"控":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}},"本":{"docs":{},"文":{"docs":{},"从":{"docs":{},"调":{"docs":{},"度":{"docs":{},"出":{"docs":{},"发":{"docs":{},",":{"docs":{},"初":{"docs":{},"步":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"大":{"docs":{},"数":{"docs":{},"据":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"工":{"docs":{},"作":{"docs":{},"流":{"docs":{},"调":{"docs":{},"度":{"docs":{},"系":{"docs":{},"统":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}},"架":{"docs":{},"构":{"docs":{},"设":{"docs":{},"计":{"docs":{},"思":{"docs":{},"想":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}},"说":{"docs":{},"明":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}},"查":{"docs":{},"询":{"docs":{},"结":{"docs":{},"果":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"发":{"docs":{},"送":{"docs":{},",":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"运":{"docs":{},"行":{"docs":{},"结":{"docs":{},"果":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"告":{"docs":{},"警":{"docs":{},"及":{"docs":{},"容":{"docs":{},"错":{"docs":{},"告":{"docs":{},"警":{"docs":{},"通":{"docs":{},"知":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"看":{"docs":{},"目":{"docs":{},"录":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}},"流":{"docs":{},"程":{"docs":{},"失":{"docs":{},"败":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"是":{"docs":{},"流":{"docs":{},"程":{"docs":{},"级":{"docs":{},"别":{"docs":{},"的":{"docs":{},",":{"docs":{},"是":{"docs":{},"手":{"docs":{},"动":{"docs":{},"进":{"docs":{},"行":{"docs":{},"的":{"docs":{},",":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"是":{"docs":{},"从":{"docs":{},"只":{"docs":{},"能":{"docs":{},"*":{"docs":{},"*":{"docs":{},"从":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"开":{"docs":{},"始":{"docs":{},"执":{"docs":{},"行":{"docs":{},"*":{"docs":{},"*":{"docs":{},"或":{"docs":{},"*":{"docs":{},"*":{"docs":{},"从":{"docs":{},"当":{"docs":{},"前":{"docs":{},"节":{"docs":{},"点":{"docs":{},"开":{"docs":{},"始":{"docs":{},"执":{"docs":{},"行":{"docs":{},"*":{"docs":{},"*":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"跑":{"docs":{},"也":{"docs":{},"是":{"docs":{},"流":{"docs":{},"程":{"docs":{},"级":{"docs":{},"别":{"docs":{},"的":{"docs":{},",":{"docs":{},"是":{"docs":{},"手":{"docs":{},"动":{"docs":{},"进":{"docs":{},"行":{"docs":{},"的":{"docs":{},",":{"docs":{},"重":{"docs":{},"跑":{"docs":{},"是":{"docs":{},"从":{"docs":{},"开":{"docs":{},"始":{"docs":{},"节":{"docs":{},"点":{"docs":{},"进":{"docs":{},"行":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"目":{"docs":{},"前":{"docs":{},"支":{"docs":{},"持":{"docs":{},"有":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"、":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"、":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"、":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"、":{"docs":{},"m":{"docs":{},"r":{"docs":{},"、":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"、":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"计":{"docs":{},"划":{"docs":{},"支":{"docs":{},"持":{"docs":{},"动":{"docs":{},"态":{"docs":{},"插":{"docs":{},"件":{"docs":{},"扩":{"docs":{},"展":{"docs":{},",":{"docs":{},"注":{"docs":{},"意":{"docs":{},":":{"docs":{},"其":{"docs":{},"中":{"docs":{},"子":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"前":{"docs":{},"驱":{"docs":{},"和":{"docs":{},"后":{"docs":{},"继":{"docs":{},"节":{"docs":{},"点":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"还":{"docs":{},"提":{"docs":{},"供":{"docs":{},"*":{"docs":{},"*":{"docs":{},"任":{"docs":{},"务":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"*":{"docs":{},"*":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"*":{"docs":{},"*":{"docs":{},"流":{"docs":{},"程":{"docs":{},"间":{"docs":{},"的":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"任":{"docs":{},"务":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"*":{"docs":{},"*":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{},"者":{"docs":{},"”":{"docs":{},"节":{"docs":{},"点":{"docs":{},"所":{"docs":{},"以":{"docs":{},"每":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"跟":{"docs":{},"其":{"docs":{},"他":{"docs":{},"节":{"docs":{},"点":{"docs":{},"通":{"docs":{},"信":{"docs":{},"才":{"docs":{},"得":{"docs":{},"到":{"docs":{},"必":{"docs":{},"须":{"docs":{},"要":{"docs":{},"的":{"docs":{},"机":{"docs":{},"器":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"而":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"系":{"docs":{},"统":{"docs":{},"通":{"docs":{},"信":{"docs":{},"的":{"docs":{},"不":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"行":{"docs":{},",":{"docs":{},"则":{"docs":{},"大":{"docs":{},"大":{"docs":{},"增":{"docs":{},"加":{"docs":{},"了":{"docs":{},"上":{"docs":{},"述":{"docs":{},"功":{"docs":{},"能":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"难":{"docs":{},"度":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"网":{"docs":{},"络":{"docs":{},"抖":{"docs":{},"动":{"docs":{},"”":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"使":{"docs":{},"得":{"docs":{},"节":{"docs":{},"点":{"docs":{},"短":{"docs":{},"时":{"docs":{},"间":{"docs":{},"内":{"docs":{},"失":{"docs":{},"去":{"docs":{},"和":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"心":{"docs":{},"跳":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"发":{"docs":{},"生":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"对":{"docs":{},"于":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"最":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"那":{"docs":{},"就":{"docs":{},"是":{"docs":{},"节":{"docs":{},"点":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"和":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"发":{"docs":{},"生":{"docs":{},"超":{"docs":{},"时":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"则":{"docs":{},"直":{"docs":{},"接":{"docs":{},"将":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"或":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"服":{"docs":{},"务":{"docs":{},"停":{"docs":{},"掉":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"流":{"docs":{},"程":{"docs":{},"算":{"docs":{},"法":{"docs":{},"如":{"docs":{},"下":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}},"表":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"命":{"docs":{},"令":{"docs":{},"类":{"docs":{},"型":{"docs":{},"进":{"docs":{},"行":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"操":{"docs":{},"作":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}},"计":{"docs":{},"算":{"docs":{},"所":{"docs":{},"有":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"总":{"docs":{},"和":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"对":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"需":{"docs":{},"要":{"docs":{},"计":{"docs":{},"算":{"docs":{},"其":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"数":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"在":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"流":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"之":{"docs":{},"前":{"docs":{},"做":{"docs":{},"预":{"docs":{},"计":{"docs":{},"算":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"是":{"docs":{},"多":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"总":{"docs":{},"线":{"docs":{},"程":{"docs":{},"数":{"docs":{},"不":{"docs":{},"太":{"docs":{},"可":{"docs":{},"能":{"docs":{},"实":{"docs":{},"时":{"docs":{},"获":{"docs":{},"取":{"docs":{},"。":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"docs":{},"服":{"docs":{},"务":{"docs":{},"内":{"docs":{},"主":{"docs":{},"要":{"docs":{},"包":{"docs":{},"含":{"docs":{},":":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}},"包":{"docs":{},"含":{"docs":{},":":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}},":":{"docs":{},"支":{"docs":{},"持":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"和":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"和":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"不":{"docs":{},"设":{"docs":{},"置":{"docs":{},",":{"docs":{},"则":{"docs":{},"默":{"docs":{},"认":{"docs":{},"是":{"docs":{},"先":{"docs":{},"进":{"docs":{},"先":{"docs":{},"出":{"docs":{"architecture-design.html":{"ref":"architecture-design.html","tf":0.0055248618784530384}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"必":{"docs":{},"装":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}},"选":{"docs":{},"装":{"docs":{},",":{"docs":{},"资":{"docs":{},"源":{"docs":{},"上":{"docs":{},"传":{"docs":{},",":{"docs":{},"m":{"docs":{},"r":{"docs":{},"任":{"docs":{},"务":{"docs":{},"提":{"docs":{},"交":{"docs":{},"需":{"docs":{},"要":{"docs":{},"安":{"docs":{},"装":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.00910010111223458}}},"伪":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"部":{"docs":{},"署":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}},"修":{"docs":{},"改":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},"为":{"docs":{},"部":{"docs":{},"署":{"docs":{},"用":{"docs":{},"户":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"此":{"docs":{},"步":{"docs":{},"骤":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0020222446916076846}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"和":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}},"因":{"docs":{},"为":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}},"并":{"docs":{},"且":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"释":{"docs":{},"掉":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}},"必":{"docs":{},"装":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}},"执":{"docs":{},"行":{"docs":{},"编":{"docs":{},"译":{"docs":{},"命":{"docs":{},"令":{"docs":{},":":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}},"方":{"docs":{},"式":{"docs":{},"来":{"docs":{},"执":{"docs":{},"行":{"docs":{},"作":{"docs":{},"业":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"部":{"docs":{},"署":{"docs":{},"用":{"docs":{},"户":{"docs":{},"需":{"docs":{},"要":{"docs":{},"有":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}},"法":{"docs":{},"中":{"docs":{},"解":{"docs":{},"析":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"任":{"docs":{},"务":{"docs":{},"参":{"docs":{},"数":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}},"实":{"docs":{},"体":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}}}}}}},",":{"docs":{},"解":{"docs":{},"析":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"任":{"docs":{},"务":{"docs":{},"参":{"docs":{},"数":{"docs":{},"实":{"docs":{},"体":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"业":{"docs":{},"务":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"并":{"docs":{},"设":{"docs":{},"置":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"传":{"docs":{},"入":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},",":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"传":{"docs":{},"入":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}},"日":{"docs":{},"志":{"docs":{},"查":{"docs":{},"看":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}},"统":{"docs":{},"一":{"docs":{},"存":{"docs":{},"放":{"docs":{},"于":{"docs":{},"指":{"docs":{},"定":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"内":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}},"根":{"docs":{},"据":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.003033367037411527}}}},"说":{"docs":{},"明":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}},":":{"docs":{},"在":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"位":{"docs":{},"于":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.003033367037411527}}}}}}}}}}},"账":{"docs":{},"号":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}},"选":{"docs":{},"装":{"docs":{},",":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"任":{"docs":{},"务":{"docs":{},"提":{"docs":{},"交":{"docs":{},"需":{"docs":{},"要":{"docs":{},"安":{"docs":{},"装":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"任":{"docs":{},"务":{"docs":{},"提":{"docs":{},"交":{"docs":{},"需":{"docs":{},"要":{"docs":{},"安":{"docs":{},"装":{"docs":{"backend-deploy.html":{"ref":"backend-deploy.html","tf":0.0010111223458038423}}}}}}}}}}}}}}}}}},"传":{"docs":{},"入":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}}}},"封":{"docs":{},"装":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}}},"了":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"分":{"docs":{},"装":{"docs":{},"了":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"日":{"docs":{},"志":{"docs":{},"信":{"docs":{},"息":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"造":{"docs":{},"方":{"docs":{},"法":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}},"中":{"docs":{},"实":{"docs":{},"例":{"docs":{},"化":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}},"或":{"docs":{},"者":{"docs":{},"重":{"docs":{},"写":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}},"调":{"docs":{},"度":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}},"类":{"docs":{},"中":{"docs":{},"创":{"docs":{},"建":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"任":{"docs":{},"务":{"docs":{},"(":{"docs":{},"也":{"docs":{},"需":{"docs":{},"在":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"注":{"docs":{},"册":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"类":{"docs":{},"型":{"docs":{},")":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.009708737864077669}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"继":{"docs":{},"承":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.02912621359223301}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"任":{"docs":{},"务":{"docs":{},"参":{"docs":{},"数":{"docs":{},"实":{"docs":{},"体":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":0.02912621359223301}}}}}},"插":{"docs":{},"件":{"docs":{},"文":{"docs":{},"档":{"docs":{"task-plugin-development.html":{"ref":"task-plugin-development.html","tf":10}}}}}}}}}}}},"length":1743},"corpusTokens":["!(['success',","\"","\"#\"","\"$1\"","\"admin_user/general_user\"权限控制页面操作按钮是否dis","\"false\"","\"test\",","\"upgrade\";","\"usage:","\"zookeeper\"","#","#!/bin/bash","###","####","#####","######","#============================================================================","#access_log","#alert","#ccc;","#charset","#check","#default","#dev_host","#error_pag","#eschedul","#execut","#resource.view.suffix","#resourcemanag","#task","#the","#zookeep","$(cat","$0","$host;","$http_upgrade;","$pidf)","$prog","$proxy_add_x_forwarded_for;","$remote_addr;","${节点类型(小写)}.vue","&","&&","'#2fbfd8'","'#5101be',","'',","'',","'./lib'","'/test',","'dependent',","'dependent':","'fail'].indexof(v)","'page","'pointer',","'test',","'waitting_depend':","'{password}';","'{user}'@'%'","'{user}'@'localhost'","'后除'","'成就你我'","(!this.$refs.refds._verifdatasource())","(!this.$refs.reflocalparams._verifprop())","(!this.method)","()","(1","(1)","(2","(2)","(3)","(4)","(5.5+)","(let","(start|stop|restart|reload)\"","(v)","({name,","(启动后访问地址","(打包后根目录会创建一个名为dist文件夹,用于发布线上nginx)","(注意版本","*","*)","**dag**","**quartz**","**sql任务**","**sub_process**","**两种命令类型是由调度内部控制使用,外部无法调用","**任务实例**:任务实例是流程定义中任务节点的实例化,标识着具体的任务执行状态","**任务类型**:","**优先级**","**依赖**:系统不单单支持","**失败策略**:对于并行运行的任务,如果有任务失败,提供两种失败策略处理方式,**继续**是指不管并行运行任务的状态,直到流程失败结束。**结束**是指一旦发现失败任务,则同时kill掉正在运行的并行任务,流程失败结束","**定时调度**:系统采用","**恢复等待线程","**恢复被容错的工作流**","**流程定义**:通过拖拽任务节点并建立任务节点的关联所形成的可视化**dag**","**流程实例**:流程实例是流程定义的实例化,可以通过手动启动或定时调度生成","**补数**:补历史数据,支持**区间并行和串行**两种补数方式","**调度方式:**","**邮件告警**:支持","*/","+","+x",",","...","./bin/arklift","./configur","./configure:",".escheduler_env.sh",".test","/","/**","//","//单独安装node","//后端定义状态类型","/404.html;","/50x.html","/50x.html;","/data2_4t/escheduler_front/escheduler/serv","/data2_4t/escheduler_front/escheduler/server;","/data2_4t/escheduler_front/escheduler/server(服务器静态页面存放目录)","/dev/cdrom","/eschedul","/etc/init.d/nginx","/etc/nginx/conf.d/default.conf","/etc/nginx/nginx.conf","/etc/sudo","/etc/yum.repos.d/yum.repo","/mnt/","/sbin/nologin","/usr/local/bin/","/usr/local/bin/nginx","/usr/local/nginx","/usr/local/nginx/conf/nginx.conf","/usr/local/nginx/sbin/nginx","/usr/share/nginx/html;","/usr/src/","/usr/src/nginx","/var/log/nginx/host.access.log","0","0,","0.0.0.0:*","0.0.0.0:80","07:24","0:关闭","1","1)","1.","1.10.1.tar.gz","1.1;","1.6.2.tar.gz","1.6.2/","1.6.2]#","1.var","1.名词解释","1.增加节点","1.标签","1.组件名","1/10,","1/6,","10","1024m","11,","12","12s;","192.168.6.132","1:关闭","1px","1px;","1}","1,创建部署用户","2","2)","2.1","2.2","2.3","2.6.32","2.任务失败重试","2.命名","2.增加状态类型","2.引号","2.系统架构","2.组件文件","20","200px;","20px;","2345","25","27","29","2:启用","2>&1","2}","2,根据实际需求来创建hdfs根路径","3","3)","3.prop","3.函数","3.增加一个路由页面","3.增加操作栏工具","3.属性缩写","30s;","3:启用","3}","3,项目编译","4.v","4.增加预置邮箱","4.对象","4.文档类型","404","431.el6.i686","4:启用","4s;","4})","4,修改配置文件","4,将环境变量文件复制到指定目录","5","5.v","5.权限管理及disabled状态处理","5.模块","5.注释","500","5000","502","503","504","510570367","5:启用","5,修改","5,创建目录并将环境变量文件复制到指定目录","6.0","6.指令缩写","60000","6810/nginx:","6:关闭","6,一键部署","6,启停服务","7.单文件组件的顶级元素顺序","8","8.9.4)","8888;#","99",":",":80",";;","=","===","=>",">","@author","@descript","@modul","[\"test@analysys.com.cn\",\"test1@analysys.com.cn\",\"test3@analysys.com.cn\"]","[base]","[key,","[root@cento","[root@nginx","_sourc","_source文件夹里。","_verif","_verification()","`${foo},前端工程师`","`${i18n.$t('test')}","`${i18n.$t('拖动节点和选中项')}`","`${i18n.$t('等待依赖')}`,","`http://localhost:8888/#/test`","`index.js`","`src/js/conf/${对应页面文件名","`src/sass/conf/${对应页面文件名","`src/view/${对应页面文件名","a:1","abstractparamet","abstracttask","abstractyarntask","action","acycl","add","airflow","alert","alert.properti","alert.type=email","all=(all)","an","analysi","anpt","api","api_bas","api向外部提供请求服务。","api接口层,主要负责处理前端ui层的请求。该服务统一提供rest","app","app.j","append","appli","application.properti","articl","articlestatus:","assembly:assembl","attra:","attre:","attribut","attrm:","attrz:","auto","avg","azkaban","b:","balanc","bar","base","baseurl=file:///mnt/packag","bashoperator、dummyoperator、mysqloperator、hiveoperator、emailoperator、httpoperator、sqloper","be","beforecreate()","beforedestroy()","beforemount()","beforeupdate()","between","big","bin","bind,v","boolean","border","border:","build","buildcommand","c","c\"选项来指定路径。","c++","c:","case","cc","cd","celeri","charact","check","chkconfig","chkconfig:","chmod","chown","class","clean","client_max_body_s","close","cluster","cn.escheduler.server.worker.task","cnpm","code:","code:0,","code:10000,","collat","color:","com.mysql.jdbc.driv","combo","combo具体查看build/combo.j","command","commit","common","common/common.properti","common/common.properties配置的escheduler.env.path","common/hadoop/hadoop.properti","compil","compon","component:","components:","computed:","concurr","condit","conditions.vu","conf","conf]#","config","configur","configuration,","connect","connection,","console.log(res)","const","const。任何一个变量的使用都要提前申明,除了","const,优先使用","content","control","copi","core","count","cpu","creat","created()","css","d","d3","daemon.sh","dag","dag监控界面","dag示例","dag:","dao","dao/data_source.properti","daofactory.getdaoinstance(processdao.class);","dao数据源配置","dask","data","data()","data.basedir.path=/tmp/eschedul","data.download.basedir.path=/tmp/escheduler/download","data.store2hdfs.basepath=/eschedul","data:{}","databas","datasourc","datasource:","db","decreases.","default","default:","default,否则不用。","desc","desc:","description:","destroy","destroyed()","detect","devel","develop","development.state=fals","dir,","dirctori","directori","directory.","disable,","disable:","disabled处理:src/js/module/mixin/disabledstate.j","distribut","dmaven.test.skip=tru","dom","downchart.j","download","download.","dragzoom.j","dump","easi","easyschedul","easyscheduler`","easyscheduler上的用户可以通过租户和hadoop用户实现多对一或一对一的映射关系,这对大数据作业的调度是非常重要的。","easyscheduler中scheduler线程分布式锁实现流程图:","easyscheduler使用zookeeper分布式锁来实现同一时刻只有一台master执行scheduler,或者只有一台worker执行任务的提交。","easyscheduler的去中心化是master/worker注册到zookeeper中,实现master集群和worker集群无中心,并使用zookeeper分布式锁来选举其中的一台master或worker为“管理者”来执行任务。","easyscheduler的架构原理及实现思路。后续会补充","easyscheduler简介","echart","echo","ecmascript","effici","elink","email/sm","empti","enabl","enterpris","env","epel","equal","error","error:","error_pag","es6","esac","eschedul","escheduler.*","escheduler.env.path=/opt/.escheduler_env.sh","escheduler.env.pi","escheduler.env.py=/opt/escheduler_env.pi","escheduler.queue.impl=zookeep","escheduler:eschedul","escheduler_env.pi","escheduler项目前端技术栈","escheduler项目目录并执行","evict","evicted,","execut","executor水平扩展","exist","exit","exitstatuscod","export","extend","failov","fair","fals","fastest","fetchtaskthread主要负责不断从task","file","fileappend","fileappender主要实现如下:","filter","fine","flush","font","foo","forward","found","free","fs.defaultfs=hdfs://mycluster:8020","function","g","g.","gcc","gender}","getpersoninfo","getter","git@git.analysys.cn:analysys_changsha/escheduler.git","gpgcheck=0","grant","graph,简称dag。工作流中的task任务以有向无环图的形式组装起来,从入度为零的节点进行拓扑遍历,直到无后继节点为止。举例如下图:","greater","group=eschedul","h","ha","ha,","hadoop","hadoop(2.7.3)","hadoop_conf_dir=/opt/soft/hadoop/etc/hadoop","hadoop_home=\"/opt/soft/hadoop\"","hadoop_home=/opt/soft/hadoop","handl","ha额外要求","hdf","hdfs.startup.st","hdfs.startup.state=tru","header","header.vu","header{","heartbeat","help给出说明","hive(1.2.1)","hive_home=\"/opt/soft/hive\"","hive_home=/opt/soft/h","home}/index.html`","home}/index.scss`","home}`","host","html","html5","http","http://192.168.220.181:12345;","http://192.168.220.204:12345","http://localhost","http://localhost:8888/#/","http://localhost:8888/#/)","http://localhost:8888/#/datasource/list","http://localhost:8888/#/hom","http://localhost:8888/#/projects/list","http://localhost:8888/#/resource/fil","http://localhost:8888/#/security/ten","http://localhost:8888/#/user/account","http://nginx.org/download/nginx","http_flv_modul","http_gzip_static_modul","http_ssl_modul","http_stub_status_modul","https://nodejs.org/download/release/v8.9.4/","https://www.iconfont.cn","hup","i18n","i686","icon:","icounicode:","id","id:","identifi","idl","imag","implementation,","import","index","index.html","index.html;","init","instal","install.sh","interv","io","io请求封装","ip","iptabl","isspin:","issues,","item'","item.titl","java_home=\"/opt/soft/java\"","java_home=/opt/soft/java","javascript","javascript规范","jdbc:mysql://192.168.xx.xx:3306/escheduler?characterencoding=utf8&usessl=fals","jobstor","js","js/vue","json.parse(json.stringify(foo))","jsplumb","jsplumbhandle.j","kazoo","key","kill","killal","koi8","larger","less","lib","lib.j","limit","linux","list","listen","ll","ln","load","load,","load,memory,cpu在线查看","localhost;","localparam","localparams:","locat","lock","lodash","log","logger","logger)","logger);","loggerserver是一个rpc服务,提供日志分片查看、刷新和下载等功能","logs/","longer","longest","lrwxrwxrwx","m","mail","mail.passwd=xxxxxxx","mail.protocol=smtp","mail.sender=xxxxxxx","mail.server.host=smtp.exmail.qq.com","mail.server.port=25","main","main;","make","map([])","mapact","mapgett","mapmut","mapstat","master","master.exec.task.number=20","master.exec.threads=100","master.heartbeat.interval=10","master.max.cpuload.avg=10","master.properti","master.reserved.memory=1","master.task.commit.interval=100","master.task.commit.retrytimes=5","masterexecthread主要是负责dag任务切分、任务提交监控、各种不同命令类型的逻辑处理","masterschedulerthread是一个扫描线程,定时扫描数据库中的","masterserv","masterserver服务启动时向zookeeper注册临时节点,通过监听zookeeper临时节点变化来进行容错处理。","masterserver采用分布式无中心设计理念,masterserver主要负责","mastertaskexecthread主要负责任务的持久化","master容错完成之后则重新由easyscheduler中scheduler线程调度,遍历","master容错流程图:","master的角色主要负责任务分发并监督slave的健康状态,可以动态的将任务均衡到slave上,以致slave节点不至于“忙死”或”闲死”的状态。","master配置文件","max","maxwait,","mazey","mazey/api","mazeydata","memori","memory,","meso","meta:","method:","methods:","millis,","millisecond","milliseconds.","min","minevictableidletimemillis.","mixin","mkdir","model","monitor_server.pi","mount","mounted()","mr、spark、sql(mysql、postgresql、hive、sparksql)、python、procedure、sub_process","msg:","msg:'失败'","msg:'成功'","mutat","mvn","mvvm框架","myd","mymap","mymap.entries())","mysql","mysql>","name.","name:","name=com.mysql.jdbc.driv","name=redhat","namenod","namenode,if","nav.vu","necessary,","need","netstat","new","nginx","nginx!","nginx!\"),可以确认nginx服务是否正常运行。","nginx:","nginx安装","nginx服务程序默认以nobody身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限,增加灵活性、降低安全风险。如:创建一个名为nginx的用户,不建立宿主目录,也禁止登录到shell环境。","nginx的运行控制","nginx的配置及运行需要pcre、zlib等软件包的支持,因此应预先安装这些软件的开发包(devel),以便提供相应的库和头文件,确保nginx的安装顺利完成。","nginx程序的监听状态,或者在浏览器中访问此web服务(默认页面将显示\"welcom","node","node_modul","node包下载","node安装","nohup","nohup.out","nopasswd:","note","npm","null,","num","number","number,","object,","object.assign(foo,","ok","on","on并没有什么不好,这里仅为了统一规范。","open","openssl","org.quartz.datasource.myds.driv","org.quartz.datasource.myds.maxconnect","org.quartz.datasource.myds.password","org.quartz.datasource.myds.url","org.quartz.datasource.myds.us","org.quartz.datasource.myds.validationqueri","org.quartz.impl.jdbcjobstore.jobstoretx","org.quartz.impl.jdbcjobstore.stdjdbcdeleg","org.quartz.jobstore.class","org.quartz.jobstore.clustercheckininterv","org.quartz.jobstore.datasourc","org.quartz.jobstore.driverdelegateclass","org.quartz.jobstore.isclust","org.quartz.jobstore.misfirethreshold","org.quartz.jobstore.tableprefix","org.quartz.jobstore.useproperti","org.quartz.scheduler.instanceid","org.quartz.scheduler.instancenam","org.quartz.scheduler.makeschedulerthreaddaemon","org.quartz.simpl.simplethreadpool","org.quartz.threadpool.class","org.quartz.threadpool.makethreadsdaemon","org.quartz.threadpool.threadcount","org.quartz.threadpool.threadprior","os","os.putenv('path','%s'%path)","owner","packag","page","parallel","params',","path","path,","path,ne","path.","path:","path=\"%s/bin:%s/bin:%s/bin:%s/bin:%s/bin:%s/bin:%s\"%(hive_home,hadoop_home,spark_home1,spark_home2,java_home,python_home,path)","path=$hadoop_home/bin:$spark_home1/bin:$spark_home2/bin:$python_home/bin:$java_home/bin:$hive_home/bin:$path","path=/escheduler/","path=os.environ['path']","pcre","perform","perm","permiss","permissions。\"/escheduler\"","physic","pidf=\"/usr/local/nginx/logs/nginx.pid\"","pip","pleas","plugin","port","post","postgresql(8.2.15+)","prefix","prefix=/usr/local/nginx","privileg","privileges;","process","process.exec.basepath=/tmp/escheduler/exec","processdao,设置相应的","prog=\"/usr/local/nginx/sbin/nginx\"","promis","promise((resolve,","prop","properti","props,","props.getenvfile(),","props.gettaskappid(),","props.gettaskdir(),","props.gettaskdir();","props.gettaskstarttime(),","props.gettasktimeout(),","props.gettenantcode(),","props:","proxy_connect_timeout","proxy_http_vers","proxy_pass","proxy_read_timeout","proxy_send_timeout","proxy_set_head","pscach","pscache,","public","python","python_home=\"/opt/soft/python\"","python_home=/opt/soft/python","python任务","p{password}","qrtz_","quartz.properti","quartz分布式调度组件,主要负责定时任务的启停操作,当quartz调起任务后,master内部会有线程池具体负责处理任务的后续操作","queri","queue","queue中是否已经存在,如果存在则同样监控任务实例的状态,如果不存在则重新提交任务实例。","queue中领取任务,并根据不同任务类型调用taskschedulethread对应执行器。","quit","r","r;","read","real","recommend","redirect","registry=https://registry.npm.taobao.org","reject)","releas","reload)","remain","remote_addr","request","requir","require(['../pages/test/index'],","required:","requiretti","reserv","resolv","resolve({","resolve),","resourc","resource.view.suffixs=txt,log,sh,conf,cfg,py,java,sql,hql,xml","resourcemanag","resourcemanager,","respons","restart","restart)","retri","return","root","root@nginx","root安装","router","run","s","sass","sass依赖","sass文件","schedul","scheduler线程一旦发现任务实例为”","scheduler线程在获取command的时候是fifo的方式执行的。","script","second","select","self","serach.vu","server","server.context","server.log","server.max","server.port=12345","server.session.timeout=7200","server_nam","servic","session","set","setenforc","sex})","sh","shellcommandexecutor","shellcommandexecutor(this::loghandle,","shelltask(taskprop","shell、gobblin、hadoopjava、java、hive、pig、spark、hdfstoteradata、teradatatohdf","shell任务","singl","site.xml","size","size:","size=1024mb","size=5000000","solid","solid;","sourc","spark(1.x,2.x)","spark_home1=\"/opt/soft/spark1\"","spark_home1=/opt/soft/spark1","spark_home2=\"/opt/soft/spark2\"","spark_home2=/opt/soft/spark2","specifi","spring","spring.datasource.defaultautocommit=tru","spring.datasource.driv","spring.datasource.initialsize=5","spring.datasource.keepalive=tru","spring.datasource.maxactive=50","spring.datasource.maxpoolpreparedstatementperconnectionsize=20","spring.datasource.maxwait=60000","spring.datasource.minevictableidletimemillis=300000","spring.datasource.minidle=5","spring.datasource.password=xx","spring.datasource.poolpreparedstatements=tru","spring.datasource.testonborrow=tru","spring.datasource.testonreturn=fals","spring.datasource.testwhileidle=tru","spring.datasource.timebetweenconnecterrormillis=60000","spring.datasource.timebetweenevictionrunsmillis=60000","spring.datasource.type=com.alibaba.druid.pool.druiddatasourc","spring.datasource.url=jdbc:mysql://192.168.xx.xx:3306/escheduler?characterencoding=utf","spring.datasource.username=xx","spring.datasource.validationquery=select","spring.datasource.validationquerytimeout=3","spring.http.multipart.max","sql","sql任务和postgresql","src","src/js/conf/hom","src/js/conf/home/pages/dag/_source/config.j","src/js/conf/home/pages/dag/_source/dag.j","src/js/conf/home/pages/dag/_source/formmodel/task","src/js/conf/home/pages/dag/_source/plugin","src/js/conf/home/store/dag/actions.j","src/js/conf/home/store/datasource/actions.j","src/js/conf/home/store/projects/actions.j","src/js/conf/home/store/resource/actions.j","src/js/conf/home/store/security/actions.j","src/js/conf/home/store/user/actions.j","src/js/modul","src/js/module/components项目内部公共组件书写文件夹名与文件名同名,公共组件内部所拆分的子组件与util工具都放置组件内部","src/sass/common/_font.scss","start","start)","state","state?","statement.","static","statu","stop","stop)","store","string,","style:","subflowthread2等待subflowthread3结束,而subflowthread3等待线程池有新线程,则整个dag流程不能结束,从而其中的线程也不能释放。这样就形成的子父流程循环等待的状态。此时除非启动新的master来增加线程来打破这样的”僵局”,否则调度集群将不能再使用。","submit","success","sudo","super(props,","sure","syntax","system","systemctl","t","t\"选项用来对配置文件进行检查,以便找出不当或错误的配置。配置文件nginx.conf默认位于安装目录/usr/local/nginx/conf/目录中。若要检查位于其他位置的配置文件,可使用\"","tabl","tar","target/eschedul","task","tasklogappend","tasklogfilt","tasklogfilter实现如下:","taskmanag","taskprops和自定义logger,taskprop","tasksstat","taskstyp","tcp","test","test.","test.then(r","testonborrow,","testonreturn,","testwhileidl","text/css","text/javascript","th:first","this.$emit('on","this.$message.warning(`${i18n.$t('请输入方法')}`)","this.datasource,","this.localparam","this.method,","this.processdao","this.processtask","this.taskdir","this.type,","thread","threadpool","time","timeout,","titl","title:","toolbar_${后台定义的节点的英文名称","toolbarev","toolop","tooltip","tree和gantt","true","true.","type","type:","u","udf管理","ui","unfair","unit","unsaf","updated()","upgrad","upload","us","user","user=eschedul","useradd","user}","user和—group","useunfairlock","utf8","utf8_general_ci;","util","util.j","v","valid","validator:","valu","value]","var,而使用","vi","view","vim","vue","vue的路由器,在每个页面的入口文件index.j","vue规范","wait","watch:","way","web配置文件","wechat","welcom","wget","whether","width:","without","work.","worker","worker.exec.threads=100","worker.fetch.task.num","worker.heartbeat.interval=10","worker.max.cpuload.avg=10","worker.properti","worker.reserved.memory=1","workerserv","workerserver也采用分布式无中心设计理念,workerserver主要负责任务的执行和提供日志服务。workerserver服务启动时向zookeeper注册临时节点,并维持心跳。","worker容错流程图:","worker的角色主要负责任务的执行工作并维护和master的心跳,以便master可以分配任务给slave。","worker配置文件","write","x","x_real_ipp","xf","xl","xls.file.path=/opt/xl","xx","xxx","y","yarn.application.status.address=http://ark1:8088/ws/v1/cluster/apps/%","yarn.resourcemanager.ha.rm.ids=192.168.xx.xx,192.168.xx.xx","yum","zilb","zookeep","zookeeper(3.4.6)","zookeeper.connection.timeout=300","zookeeper.escheduler.dead.servers=/escheduler/dead","zookeeper.escheduler.lock.masters.failover=/escheduler/lock/failover/mast","zookeeper.escheduler.lock.masters=/escheduler/lock/mast","zookeeper.escheduler.lock.workers.failover=/escheduler/lock/failover/work","zookeeper.escheduler.lock.workers=/escheduler/lock/work","zookeeper.escheduler.masters=/escheduler/mast","zookeeper.escheduler.root=/eschedul","zookeeper.escheduler.workers=/escheduler/work","zookeeper.properti","zookeeper.quorum=192.168.xx.xx:2181,192.168.xx.xx:2181,192.168.xx.xx:2181","zookeeper.retry.maxtime=5","zookeeper.retry.sleep=1000","zookeeper.session.timeout=300","zookeeper服务,系统中的masterserver和workerserver节点都通过zookeeper来进行集群管理和容错。另外系统还基于zookeeper进行事件监听和分布式锁。","{","{...foo,","{a:","{a:1}","{b:","{db}","{host}","{linux","{name,","{user}","{version}/","{version}/conf","{version}/conf/env","{version}/sql/escheduler.sql和quartz.sql","{{","{}","{},","|","|grep","|——","}","})","},","}}","~]#","","└──","├──","、、的顺序放置。","一、去中心化vs中心化","一个分布式易扩展的可视化dag工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。","一个页面对应一个html文件","一个页面对应一个sass文件","一旦master出现了问题,则群龙无首,整个集群就会崩溃。为了解决这个问题,大多数master/slave架构模式都采用了主备master的设计方案,可以是热备或者冷备,也可以是自动切换或手动切换,而且越来越多的新系统都开始具备自动选举切换master的能力,以提升系统的可用性。","一种是业务节点,这种节点都对应一个实际的脚本或者处理语句,比如shell节点,mr节点、spark节点、依赖节点等。","一行","一键部署","一键部署脚本","三、线程不足循环等待问题","上传文件大小限制","上图中mainflowthread等待subflowthread1结束,subflowthread1等待subflowthread2结束,","下分为","下的","下的data.basedir.path、data.download.basedir.path和process.exec.basepath路径","下载组件","下面","不能直观区分任务类型","不需要(本身就支持ha)","与apache的主程序httpd类似,nginx的主程序也提供了\"","与同类调度系统的对比","两个环境变量文件复制到","两张图","中","中创建自定义任务","中变量的值,替换成自身业务所需的值","中心化思想","中心化思想设计存在的问题:","中心化的设计理念比较简单,分布式集群中的节点按照角色分工,大体上分为两种角色:","中更自然的是驼峰命名。","为","为了使nginx服务器的运行更加方便,可以为主程序nginx创建链接文件,以便管理员直接执行nginx命令就可以调用nginx的主程序。","为了使nginx服务的启动、停止、重载等操作更加方便,可以编写nginx服务脚本,并使用chkconfig和service工具来进行管理,也更加符合rhel系统的管理习惯。","为了更高效的元素切换,会复用相同的部分,例如:value。为了避免复用带来的不合理效果,应该在同种元素上加上","为了统一和便于阅读,应该按","为了统一规范始终使用指令缩写,使用v","主机器","主程序nginx支持标准的进程信号,通过kill或者killall命令传送","也是一个单独的流程定义,是可以单独启动执行的","事件中处理。","二、分布式锁实践","二次开发需要重新引入自己的库","于是我们选择了第三种方式来解决线程不足的问题。","五、任务优先级设计","介于考虑到尽可能的easyscheduler的轻量级性,所以选择了grpc实现远程访问日志信息。","代表的颜色主要用于","以/流程定义id/流程实例id/任务实例id.log的形式生成日志","以dag图的方式将task按照任务的依赖关系关联起来,可实时可视化监控任务的运行状态","任务切分、任务提交监控,并同时监听其它masterserver和workerserver的健康状态。","任务太多时会卡死服务器","任务失败重试是任务级别的,是调度系统自动进行的,比如一个shell任务设置重试次数为3次,那么在shell任务运行失败后会自己再最多尝试运行3次","任务实例","任务插件开发","任务状态、任务类型、重试次数、任务运行机器、可视化变量等关键信息一目了然","任务的优先级也分为5级,依次为highest、high、medium、low、lowest。如下图","任务类型","任务队列机制,单个机器上可调度的任务数量可以灵活配置,当任务过多时会缓存在任务队列中,不会造成机器卡死","传入自定义任务的","伪分布式部署","使用手册","使用部署用户","例如:shell}.png","修改","修改为部署用户","修改为部署用户,否则忽略此步骤","修改配置文件和","值使更新","做标识。","先将节点的icon小图标放置src/js/conf/home/pages/dag/img文件夹内,注意","入口","入口文件","全称direct","公共图片存放","公共模块及util","公共部分","公司内部组件(公司组件库开源后可删掉)","六、logback和grpc实现日志访问","其中master监控其他master和worker的目录,如果监听到remove事件,则会根据具体的业务逻辑进行流程实例容错或者任务实例容错。","其中流程定义的优先级是考虑到有些流程需要先于其他流程进行处理,这个可以在流程启动或者定时启动时配置,共有5级,依次为highest、high、medium、low、lowest。如下图","其主要目标如下:","具体实现是根据任务实例的json解析优先级,然后把**流程实例优先级_流程实例id_任务优先级_任务id**信息保存在zookeeper任务队列中,当从任务队列获取的时候,通过字符串比较即可得出最需要优先执行的任务","具体操作:https://router.vuejs.org/zh/","具体操作:https://vuex.vuejs.org/zh/","具体操作:src/js/module/permissions/index.j","内部项目公共组件","再拷贝到服务器","函数名统一使用驼峰命名,以大写字母开头申明的都是构造函数,使用小写字母开头的都是普通函数,也不该使用","函数管理","分为:","分布式调度器,并同时支持cron表达式可视化的生成","分布式部署","创建","创建db和账号","创建表","创建运行用户、组","创建部署用户","创建静态页面存放目录","别名","前端代理的接口地址","前端在开发环境(dev)中运行","前端定义id","前端开发文档","前端用作key值","前端部署文档","前端项目发布","前端项目构建","前端项目环境构建及编译","功能","匿名函数统一使用箭头函数,多个参数/返回值时优先使用对象的结构赋值。","单一调度程序","单个web和调度程序组合","单点故障","去中心化","去中心化的多master和多work","去中心化设计的核心设计在于整个分布式系统中不存在一个区别于其他节点的”管理者”,因此不存在单点故障问题。但由于不存在”","反例","另外一个问题是如果scheduler在master上,虽然可以支持一个dag中不同的任务运行在不同的机器上,但是会产生master的过负载。如果scheduler在slave上,则一个dag中所有的任务都只能在某一台机器上进行作业提交,则并行任务比较多的时候,slave的压力可能会比较大。","只能看到任务状态","可以转淘宝镜像命令行输入","可视化库图表库","可视化流程定义","号去掉","后台定义节点类型英文名称用作key值","后端部署文档","后续用作排序","否","启停alert","启停api","启停logger","启停master","启停worker","启动、停止nginx","启用","启用http_stub_status_module模块以支持状态统计","启用ssl模块","告警组管理","命令","命令,生成打包文件(dist)包","和","和各个其它机器ssh打通","四、容错设计","因为eschedul","国际化","图片下载处理","图表组件","在","在src/js/conf/home/pag","在去中心化设计里,通常没有master/slave的概念,所有的角色都是一样的,地位是平等的,全球互联网就是一个典型的去中心化的分布式系统,联网的任意节点设备down机,都只会影响很小范围的功能。","在同一个元素(例如:)上使用,因为","在对系统架构说明之前,我们先来认识一下调度系统常用的名词","在引用外部","在执行","在早期调度设计中,如果没有优先级设计,采用公平调度设计的话,会遇到先行提交的任务可能会和后继提交的任务同时完成的情况,而不能做到设置流程或者任务的优先级,因此我们对此进行了重新设计,目前我们设计如下:","在需要部署调度的机器上如上","基于axio","基于shell的任务","基于yarn的计算(参见mapreducetask)","基于非shell的任务(参见sqltask)","基于非yarn的计算(参见shelltask)","基础服务启动脚本","基础软件安装","增加一个","增加一种资源不足的command类型,如果线程池不足,则将主流程挂起。这样线程池就有了新的线程,可以让资源不足挂起的流程重新唤醒执行。","契合度","如上","如上进行","如果","如果一个dag中没有子流程,则如果command中的数据条数大于线程池设置的阈值,则直接流程等待或失败。","如果一个大的dag中嵌套了很多子流程,如下图则会产生“死等”状态:","如果工作流中有任务失败达到最大重试次数,工作流就会失败停止,失败的工作流可以手动进行重跑操作或者流程恢复操作","如果您需要用ip访问项目可以把","如果模块只有一个输出值,使用","子组件验证","字体图标","字体图标库可访问","存储","存储过程需要安装","安全中心","安装","安装epel源","安装nginx","安装及配置","宕机容错","定义","定义的函数可以随便放在任何位置。","定时器配置文件","实现集群ha,通过zookeeper实现master集群和worker集群去中心化","实用工具库","实际上,真正去中心化的分布式系统并不多见。反而动态中心化分布式系统正在不断涌出。在这种架构下,集群中的管理者是被动态选择出来的,而不是预置的,并且集群在发生故障的时候,集群的节点会自发的举行\"会议\"来选举新的\"管理者\"去主持工作。最典型的案例就是zookeeper及go语言实现的etcd。","容错分为服务宕机容错和任务重试,服务宕机容错又分为master容错和worker容错两种情况","对于启动新master来打破僵局,似乎有点差强人意,于是我们提出了以下三种方案来降低这种风险:","对单master线程池进行判断,如果线程池已经满了,则让线程直接失败。","对应的html文件则在","对应的sass文件则在","对象,往里增加","封装command","封装了任务的信息,logger分装了自定义日志信息","将","将.escheduler_env.sh","将日志放到es搜索引擎上","属于","属于节点组件内的必须拥有一个函数","属性。html5","属性尽量使用缩写,提高代码的效率和方便理解。","属性,所以没必要指定。","工作流","工作流定义","工作流实例","工具","工具图标","工具标识","工具类","工具类都以一个构造函数返回","帮助","并且需要注释掉","应该总是使用","应该给一个模块文件写一个区块注释。","应该避免与","建一个","建议不再使用","开发环境","开发环境node依赖包","当nginx进程运行时,pid号默认存放在logs/目录下的nginx.pid文件中,因此若改用kill命令,也可以根据nginx.pid文件中的pid号来进行控制。","形式返回","必装","快速部署","总结","我们也曾经基于redis实现过队列,不过我们希望easyscheduler依赖到的组件尽量地少,所以最后还是去掉了redis实现。","我们使用自定义logback的fileappender和filter功能,实现每个任务实例生成一个日志文件。","或","所有流程定义操作都是可视化的,通过拖拽任务来绘制dag,配置数据源及资源。同时对于第三方系统,提供api方式的操作。","所有的接口都以","所有页面入口文件在","打包及开发环境项目的一些webpack配置","执行编译命令:","扩展开发","扩展性","找到","找到src/lib/localdata/email.js启动和定时邮箱地址输入可以自动下拉匹配。","找到”正在运行”和“提交成功”的任务,对”正在运行”的任务监控其任务实例的状态,对”提交成功”的任务需要判断task","技术选型","报错的话:","拉取前端项目到本地","拉取项目依赖包","拖拽线条处理","指定nginx运行用户和组","按照**不同流程实例优先级**优先于**同一个流程实例优先级**优先于**同一流程内任务优先级**优先于**同一流程内任务**提交顺序依次从高到低进行任务处理。","接下来说正题,我们将工作流中的任务节点分了两种类型。","接口","接口包括工作流的创建、定义、查询、修改、发布、下线、手工启动、停止、暂停、恢复、从该节点开始执行等等。","接口地址","提供任务队列的操作,目前队列也是基于zookeeper来实现。由于队列中存的信息较少,不必担心队列里数据过多的情况,实际上我们压测过百万级数据存队列,对系统稳定性和性能没影响。","提供告警相关接口,接口主要包括告警两种类型的告警数据的存储、查询和通知功能。其中通知功能又有邮件通知和snmp(暂未实现)两种。","提醒:目前任务插件开发暂不支持热部署","操作则在","操作符去操作普通函数。","支持","支持丰富的任务类型:shell、mr、spark、sql(mysql、postgresql、hive、sparksql),python,sub_process、procedure等","支持任务日志在线查看及滚动、在线下载日志等","支持传统的shell任务,同时支持大数据平台任务调度:","支持国际化","支持多租户","支持大数据作业spark,hive,mr的调度,同时由于支持多租户,与大数据业务更加契合","支持对master/work","支持工作流优先级、任务优先级及任务的故障转移及任务超时告警/失败","支持工作流全局参数及节点自定义参数设置","支持工作流定时调度、依赖调度、手动调度、手动暂停/停止/恢复,同时支持失败重试/告警、从指定节点恢复失败、kill任务等操作","支持工作流运行历史树形/甘特图展示、支持任务状态统计、流程状态统计","支持暂停,恢复操作","支持补数","支持资源文件的在线上传/下载,管理等,支持在线文件创建、编辑","放到容器的父元素之上。","数据库初始化","数据源中心","数据源管理","数组/对象的默认值应该由一个工厂函数返回","文件","文件夹,在文件夹里建一个index.vue入口文件。","文件管理","文件,跟当前节点相关的组件内容都在这里写。","文档","方式来执行作业,所以部署用户需要有","方法中解析自定义任务参数","方法中解析自定义任务参数实体","方法中,解析自定义任务参数实体","方法实现业务逻辑并设置相应的exitstatuscod","方法,第一个参数传入自己的command,第二个参数传入","方法,调用","无数据","日志查看","日志统一存放于指定文件夹内","时不写","时渲染效率更高。","易用性","是","是否支持多租户","是否支持自定义任务类型","是否支持集群扩展","是否旋转(需代码判断)","是否禁用","是否能暂停和恢复","是,但是复杂","显示","更多文档请参考","更改上传大小","更高,为了避免无效计算和渲染,应该尽量将","服务容错设计依赖于zookeeper的watcher机制,实现原理如图:","服务监控","本文从调度出发,初步介绍了大数据分布式工作流调度系统","杀死进程","权限操作","权限根据后端接口getuserinfo接口给出usertype:","权限,而且是免密的。","构造方法","构造方法中实例化","构造方法或者重写","构造方法调度","架构设计思想","架构说明","查看目录","查询结果邮件发送,流程实例运行结果邮件告警及容错告警通知","标准。","标签冲突,并且结构更加清晰。","标记中对大小写是不敏感的,使用连接线更加友好;而在","样式后续都是打包在一个文件里,所有在单个vue文件中定义的样式,在别的文件里同类名的样式也是会生效的所有在创建一个组件前都会有个顶级类名","根据","正例","正常编译完后,会在当前目录生成","正常返回","每一个**业务节点**都可以配置失败重试的次数,当该任务节点失败,会自动重试,直到成功或者超过配置的重试次数。**逻辑节点**不支持失败重试。但是逻辑节点里的任务支持重试。","每个路由对应的页面都有一个状态管理的文件","注意非0都为错误走catch","注意:master","注意:在全部服务都启动之后启动","注意:字体库用的自己的","注意:由于”","注意:项目内已经增加了sass插件,单个vue文件里可以直接书写sass语法","注:配置前可以参考","流程失败恢复是流程级别的,是手动进行的,恢复是从只能**从失败的节点开始执行**或**从当前节点开始执行**","流程失败重跑也是流程级别的,是手动进行的,重跑是从开始节点进行","状态","状态管理","环境变量","环境变量配置","环境搭建","用于disabled操作","用命令行模式","用户中心","用户管理","由于web(ui)和worker不一定在同一台机器上,所以查看日志不能像查询本地文件那样。有两种方案:","由于不支持多租户,在大数据平台业务使用不够灵活","的","的优先级比","的命名应该语义化,通过看名字就知道是干嘛的;多个单词用连接线","的定义应该尽量详细的指定其类型、默认值和验证。","的方式管理项目的模块。","的时候应该始终以驼峰格式(camelcase)命名,在父组件赋值的时候使用连接线(","的目录下,并将","的配置来判断是否启动hdfs,如果启动,则需要创建hdfs根路径,并将","目前支持有shell、sql、sub_process、procedure、mr、spark、python、dependent,同时计划支持动态插件扩展,注意:其中子","直接运行nginx即可启动nginx服务器,这种方式将使用默认的配置文件,若要改用其他配置文件,需添加\"","相关接口","相关接口路径","示例:","租户管理","稳定性","等同于","简单的前驱和后继节点之间的依赖,同时还提供**任务依赖**节点,支持**流程间的自定义任务依赖**","管理者”节点所以每个节点都需要跟其他节点通信才得到必须要的机器信息,而分布式系统通信的不可靠行,则大大增加了上述功能的实现难度。","类中创建自定义任务(也需在tasktype注册对应的任务类型)","系统功能模块","系统支持基于cron表达式的定时调度和手动调度。命令类型支持:启动工作流、从当前节点开始执行、恢复被容错的工作流、恢复暂停流程、从失败节点开始执行、补数、调度、重跑、暂停、停止、恢复等待线程。其中","系统架构图","系统架构设计","系统的前端页面,提供系统的各种可视化操作界面,详见使用手册部分。","系统部分截图","组件名为多个单词,并且用连接线(","统一使用","统一放在文件顶部。","继承","编译","编译前配置","编译安装nginx","编辑配置文件","网络抖动”可能会使得节点短时间内失去和zookeeper的心跳,从而发生节点的remove事件。对于这种情况,我们使用最简单的方式,那就是节点一旦和zookeeper发生超时连接,则直接将master或worker服务停掉。","脚本一","脚本是监听,master和worker服务挂掉重启的脚本","自定义任务参数实体","自定义任务插件文档","节点组件内部所用到公共的组件都在_source下,commcon.js用与配置公共数据","若同一组","获取分布式锁的核心流程算法如下","表,根据不同的命令类型进行不同的业务操作","规范","解决方法","计算所有master的线程总和,然后对每一个dag需要计算其需要的线程数,也就是在dag流程执行之前做预计算。因为是多master线程池,所以总线程数不太可能实时获取。","设定nginx的安装目录","设计特点:","访问地址","访问端口","该服务内主要包含:","该服务包含:","详情:https://vuex.vuejs.org/zh/guide/actions.html","详情:https://vuex.vuejs.org/zh/guide/getters.html","详情:https://vuex.vuejs.org/zh/guide/mutations.html","详情:https://vuex.vuejs.org/zh/guide/state.html","说明","说明:在","说明:配置文件位于","调度器使用分布式调度,整体的调度能力会随便集群的规模线性增长,master和worker支持动态上下线","调度系统架构设计","调用","账号","资源中心","资源管理","路由和状态管理","路由地址","路由地址对应的页面文件","路由对应组件入口文件","路由指向页面目录","路由管理","过滤匹配以taskloginfo开始的线程名称:","过滤器和vue管道","过载处理","运行","还有一种是逻辑节点,这种节点不做实际的脚本或语句处理,只是整个流程流转的逻辑处理,比如子流程节等。","还有更多等待伙伴们探索","这样就可以直接访问","这样就可以通过nginx脚本来启动、停止、重启、重载nginx服务器了。","这里遵循每个语言的特性,因为在","这里首先要区分任务失败重试、流程失败恢复、流程失败重跑的概念:","进入","进行添加","连接。","连线插件库","退出进程","选装,hive任务提交需要安装","选装,postgresql","选装,spark任务提交需要安装","通用配置文件配置,队列选择及地址配置,通用文件目录配置","通过grpc通信获取远程日志信息","通过python代码来绘制dag,使用不便,特别是对不会写代码的业务人员基本无法使用。","通过检查","通过自定义dsl绘制dag并打包上传","速度非常慢","逻辑控制中的元素逻辑相同,vue","遍历的时候,总是应该带上","部署文档","部署用户是","都会注册进来","都是以","配置信息","配置文件","配置文件地址","配置文件说明","配置文件路径\"选项来指定路径。需要注意的是,若服务器中已安装有httpd等其他web服务软件,应采取措施(修改端口,停用或卸载)避免部突。","配置邮件告警信息","释放nginx源码包","里的","重写","重启","重启nginx服务","重载配置","错误","错误返回","错误,请在执行完后再次执行以下命令","问题","集群化部署复杂","集群启动、停止和服务监控启停脚本","需将工作流杀死再运行","需要在","需要容错”状态,则接管任务并进行重新提交。","需要继承cn.escheduler.server.worker.task","静态文件目录","页面文件","项目","项目git仓库地址","项目依赖jar包,包括各个模块jar和第三方jar","项目依赖sql文件","项目如果在拉取依赖包的过程中报","项目开发环境","项目所需文件","项目打包","项目根目录创建.env为后缀名的文件并输入","项目生产环境配置","项目目录结构","项目第三方资源本地化","项目管理","项目编译","项目配置文件","项目采用vue单页面应用(spa)开发","项目首页","首先在路由管理增加一个路由地址src/js/conf/home/router/index.j","首页","验证","验证函数","验证成功后讲当前组件的相关数据往父组件抛。","高性能的","默认","鼠标缩放效果处理","!!!这里特别注意",")。",")连接,避免与",":必装",":支持流程实例和任务实例的优先级,如果流程实例和任务实例的优先级不设置,则默认是先进先出",":选装,资源上传,mr任务提交需要安装"],"pipeline":["stopWordFilter","stemmer"]},"store":{"./":{"url":"./","title":"Easyscheduler简介","keywords":"","body":"Easy Scheduler\n\n\nEasy Scheduler for Big Data\n\n设计特点: 一个分布式易扩展的可视化DAG工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。\n其主要目标如下:\n\n以DAG图的方式将Task按照任务的依赖关系关联起来,可实时可视化监控任务的运行状态\n支持丰富的任务类型:Shell、MR、Spark、SQL(mysql、postgresql、hive、sparksql),Python,Sub_Process、Procedure等\n支持工作流定时调度、依赖调度、手动调度、手动暂停/停止/恢复,同时支持失败重试/告警、从指定节点恢复失败、Kill任务等操作\n支持工作流优先级、任务优先级及任务的故障转移及任务超时告警/失败\n支持工作流全局参数及节点自定义参数设置\n支持资源文件的在线上传/下载,管理等,支持在线文件创建、编辑\n支持任务日志在线查看及滚动、在线下载日志等\n实现集群HA,通过Zookeeper实现Master集群和Worker集群去中心化\n支持对Master/Worker cpu load,memory,cpu在线查看\n支持工作流运行历史树形/甘特图展示、支持任务状态统计、流程状态统计\n支持补数\n支持多租户\n支持国际化\n还有更多等待伙伴们探索\n\n与同类调度系统的对比\n\ntable th:first-of-type {\n width: 200px;\n}\n\n\n\n\n\n\nEasyScheduler\nAzkaban\nAirflow\n\n\n\n\n稳定性\n\n\n\n\n\n单点故障\n去中心化的多Master和多Worker\n是 单个Web和调度程序组合\n是 单一调度程序\n\n\nHA额外要求\n不需要(本身就支持HA)\nDB\nCelery / Dask / Mesos + Load Balancer + DB\n\n\n过载处理\n任务队列机制,单个机器上可调度的任务数量可以灵活配置,当任务过多时会缓存在任务队列中,不会造成机器卡死\n任务太多时会卡死服务器\n任务太多时会卡死服务器\n\n\n易用性\n\n\n\n\n\nDAG监控界面\n任务状态、任务类型、重试次数、任务运行机器、可视化变量等关键信息一目了然\n只能看到任务状态\n不能直观区分任务类型\n\n\n可视化流程定义\n是 所有流程定义操作都是可视化的,通过拖拽任务来绘制DAG,配置数据源及资源。同时对于第三方系统,提供api方式的操作。\n否 通过自定义DSL绘制DAG并打包上传\n否 通过python代码来绘制DAG,使用不便,特别是对不会写代码的业务人员基本无法使用。\n\n\n快速部署\n一键部署\n集群化部署复杂\n集群化部署复杂\n\n\n功能\n\n\n\n\n\n是否能暂停和恢复\n支持暂停,恢复操作\n否 需将工作流杀死再运行\n否 需将工作流杀死再运行\n\n\n是否支持多租户\n支持 easyscheduler上的用户可以通过租户和hadoop用户实现多对一或一对一的映射关系,这对大数据作业的调度是非常重要的。\n否\n否\n\n\n任务类型\n支持传统的shell任务,同时支持大数据平台任务调度: MR、Spark、SQL(mysql、postgresql、hive、sparksql)、Python、Procedure、Sub_Process\nshell、gobblin、hadoopJava、java、hive、pig、spark、hdfsToTeradata、teradataToHdfs\nBashOperator、DummyOperator、MySqlOperator、HiveOperator、EmailOperator、HTTPOperator、SqlOperator\n\n\n契合度\n支持大数据作业spark,hive,mr的调度,同时由于支持多租户,与大数据业务更加契合\n由于不支持多租户,在大数据平台业务使用不够灵活\n由于不支持多租户,在大数据平台业务使用不够灵活\n\n\n扩展性\n\n\n\n\n\n是否支持自定义任务类型\n是\n是\n是\n\n\n是否支持集群扩展\n是 调度器使用分布式调度,整体的调度能力会随便集群的规模线性增长,Master和Worker支持动态上下线\n是,但是复杂 Executor水平扩展\n是,但是复杂 Executor水平扩展\n\n\n\n系统部分截图\n\n\n\n文档\n\n部署文档\n后端部署文档\n\n前端部署文档\n使用手册 \n更多文档请参考 XXX\n帮助\nThe fastest way to get response from our developers is to submit issues, or add our wechat : 510570367\n"},"frontend-deploy.html":{"url":"frontend-deploy.html","title":"环境搭建","keywords":"","body":"前端部署文档\n前端项目环境构建及编译\nEscheduler项目前端技术栈\nVue + es6 + Ans-ui + d3 + jsplumb + lodash\n开发环境\nNode\n\nnode安装\nNode包下载 (注意版本 8.9.4) https://nodejs.org/download/release/v8.9.4/ \n\n拉取前端项目到本地\n项目git仓库地址 git@git.analysys.cn:analysys_changsha/escheduler.git\n\n前端项目构建\n用命令行模式 cd 进入 escheduler项目目录并执行 npm install 拉取项目依赖包\n\n\n\n如果 npm install 速度非常慢 \n可以转淘宝镜像命令行输入 npm install -g cnpm --registry=https://registry.npm.taobao.org\n运行 cnpm install \n!!!这里特别注意 项目如果在拉取依赖包的过程中报 \" node-sass error \" 错误,请在执行完后再次执行以下命令\nnpm install node-sass --unsafe-perm //单独安装node-sass依赖\n\n项目根目录创建.env为后缀名的文件并输入\n# 前端代理的接口地址\nAPI_BASE = http://192.168.220.204:12345\n\n# 如果您需要用ip访问项目可以把 \"#\" 号去掉\n#DEV_HOST = 192.168.6.132\n运行\n\nnpm start 项目开发环境 (启动后访问地址 http://localhost:8888/#/)\n\nnpm run build 项目打包 (打包后根目录会创建一个名为dist文件夹,用于发布线上Nginx)\n\n\n安装及配置\n(1-1) Nginx安装\n安装 wget http://nginx.org/download/nginx-1.10.1.tar.gz \nNginx的配置及运行需要pcre、zlib等软件包的支持,因此应预先安装这些软件的开发包(devel),以便提供相应的库和头文件,确保Nginx的安装顺利完成。\n[root@nginx ~]# service iptables stop\n[root@nginx ~]# setenforce 0\n[root@nginx ~]# mount /dev/cdrom /mnt/\n[root@nginx ~]# vim /etc/yum.repos.d/yum.repo\n[base]\nname=RedHat Enterprise Linux Server\nbaseurl=file:///mnt/Packages\ngpgcheck=0\n[root@nginx ~]# yum -y install pcre-devel zilb-devel openssl-devel\n(1-2) 创建运行用户、组\nNginx服务程序默认以nobody身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限,增加灵活性、降低安全风险。如:创建一个名为nginx的用户,不建立宿主目录,也禁止登录到shell环境。\n[root@nginx ~]# useradd -M -s /sbin/nologin escheduler\n(1-3) 编译安装nginx\n释放nginx源码包\n[root@nginx ~]# tar xf nginx-1.6.2.tar.gz -C /usr/src/\n编译前配置\n[root@nginx ~]# cd /usr/src/nginx-1.6.2/\n[root@nginx nginx-1.6.2]# ./configure --prefix=/usr/local/nginx --user=escheduler --group=escheduler --with-http_stub_status_module --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module\n注:配置前可以参考 ./configure --help给出说明\n--prefix 设定Nginx的安装目录\n--user和—group 指定Nginx运行用户和组\n--with-http_stub_status_module 启用http_stub_status_module模块以支持状态统计\n--with-http_ssl_module 启用SSL模块\n\n错误\n[root@centos nginx-1.6.2]# ./configure --prefix=/usr/local/nginx --user=escheduler --group=escheduler --with-http_stub_status_module --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module\nchecking for OS\n+ Linux 2.6.32-431.el6.i686 i686\nchecking for C compiler ... not found\n./configure: error: C compiler cc is not found\n解决方法\nyum -y install gcc gcc-c++\n\n编译 安装\n[root@nginx nginx-1.6.2]# make && make install\n为了使Nginx服务器的运行更加方便,可以为主程序nginx创建链接文件,以便管理员直接执行nginx命令就可以调用Nginx的主程序。\n[root@nginx nginx-1.6.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/\n[root@nginx nginx-1.6.2]# ll /usr/local/bin/nginx \nlrwxrwxrwx 1 root root 27 12-29 07:24 /usr/local/bin/nginx -> /usr/local/nginx/sbin/nginx\nNginx的运行控制\n与Apache的主程序httpd类似,Nginx的主程序也提供了\"-t\"选项用来对配置文件进行检查,以便找出不当或错误的配置。配置文件nginx.conf默认位于安装目录/usr/local/nginx/conf/目录中。若要检查位于其他位置的配置文件,可使用\"-c\"选项来指定路径。\nroot@nginx conf]# nginx -t\nnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok\nnginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful\n启动、停止Nginx\n直接运行nginx即可启动Nginx服务器,这种方式将使用默认的配置文件,若要改用其他配置文件,需添加\"-c 配置文件路径\"选项来指定路径。需要注意的是,若服务器中已安装有httpd等其他WEB服务软件,应采取措施(修改端口,停用或卸载)避免部突。\n[root@nginx conf]# chown -R escheduler:escheduler /usr/local/nginx\n\n/usr/local/nginx/conf/nginx.conf\n\n[root@nginx conf]# netstat -anpt |grep :80\n[root@nginx conf]# nginx\n[root@nginx conf]# netstat -anpt |grep :80\ntcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 6810/nginx: master\n通过检查 Nginx程序的监听状态,或者在浏览器中访问此WEB服务(默认页面将显示\"Welcome to nginx!\"),可以确认Nginx服务是否正常运行。\n[root@nginx ~]# yum -y install elinks\n[root@nginx ~]# elinks --dump http://localhost\n Welcome to nginx!\n主程序Nginx支持标准的进程信号,通过kill或者killall命令传送\nHUP 重载配置 等同于-1\nQUIT 退出进程 等同于-3\nKILL 杀死进程 \n[root@nginx ~]# killall -s HUP nginx\n[root@nginx ~]# killall -s QUIT nginx\n[root@nginx ~]# netstat -anpt |grep :80\n当Nginx进程运行时,PID号默认存放在logs/目录下的nginx.pid文件中,因此若改用kill命令,也可以根据nginx.pid文件中的PID号来进行控制。\n为了使Nginx服务的启动、停止、重载等操作更加方便,可以编写Nginx服务脚本,并使用chkconfig和service工具来进行管理,也更加符合RHEL系统的管理习惯。\n[root@nginx ~]# vim /etc/init.d/nginx\n脚本一\n#!/bin/bash\n# chkconfig: 2345 99 20\n# description: Nginx Server Control Script\nPROG=\"/usr/local/nginx/sbin/nginx\"\nPIDF=\"/usr/local/nginx/logs/nginx.pid\"\ncase \"$1\" in\nstart)\n $PROG\n;;\nstop)\n kill -s QUIT $(cat $PIDF)\n;;\nrestart)\n $0 stop\n $0 start\n;;\nreload)\n kill -s HUP $(cat $PIDF)\n;;\n*)\n echo \"Usage: $0 (start|stop|restart|reload)\"\n exit 1\nesac\nexit 0\n\n[root@nginx ~]# chmod +x /etc/init.d/nginx\n[root@nginx ~]# chkconfig --add nginx\n[root@nginx ~]# chkconfig nginx on\n[root@nginx ~]# chkconfig --list nginx \nnginx 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭\n报错的话: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf\n这样就可以通过nginx脚本来启动、停止、重启、重载Nginx服务器了。\n(2-1) root安装\n安装epel源 yum install epel-release -y\n安装Nginx yum install nginx -y\n命令\n\n启用 systemctl enable nginx\n\n重启 systemctl restart nginx\n\n状态 systemctl status nginx\n\n\n项目生产环境配置\n\n创建静态页面存放目录\nmkdir /data2_4T/escheduler_front/escheduler/server\n配置文件地址\n/etc/nginx/conf.d/default.conf\n配置信息\nserver {\n listen 8888;# 访问端口\n server_name localhost;\n #charset koi8-r;\n #access_log /var/log/nginx/host.access.log main;\n location / {\n root /data2_4T/escheduler_front/escheduler/server; # 静态文件目录\n index index.html index.html;\n }\n location /escheduler {\n proxy_pass http://192.168.220.181:12345; # 接口地址\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header x_real_ipP $remote_addr;\n proxy_set_header remote_addr $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_http_version 1.1;\n proxy_connect_timeout 4s;\n proxy_read_timeout 30s;\n proxy_send_timeout 12s;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection \"upgrade\";\n }\n #error_page 404 /404.html;\n # redirect server error pages to the static page /50x.html\n #\n error_page 500 502 503 504 /50x.html;\n location = /50x.html {\n root /usr/share/nginx/html;\n }\n}\n重启Nginx服务\nsystemctl restart nginx\n\n前端项目发布\n前端在开发环境(dev)中运行 npm run build 命令,生成打包文件(dist)包\n再拷贝到服务器 /data2_4T/escheduler_front/escheduler/server(服务器静态页面存放目录)\n访问地址 http://localhost:8888/#/ \n问题\n1. 上传文件大小限制\n编辑配置文件 vi /etc/nginx/nginx.conf\n# 更改上传大小\nclient_max_body_size 1024m\n"},"frontend-development.html":{"url":"frontend-development.html","title":"项目目录结构","keywords":"","body":"前端开发文档\n技术选型\nVue mvvm框架\n\nEs6 ECMAScript 6.0\n\nAns-ui Analysys-ui\n\nD3 可视化库图表库\n\nJsplumb 连线插件库\n\nLodash 高性能的 JavaScript 实用工具库\n项目目录结构\nbuild 打包及开发环境项目的一些webpack配置\nnode_modules 开发环境node依赖包\nsrc 项目所需文件\nsrc => combo 项目第三方资源本地化 npm run combo具体查看build/combo.js\nsrc => font 字体图标库可访问 https://www.iconfont.cn 进行添加 注意:字体库用的自己的 二次开发需要重新引入自己的库 src/sass/common/_font.scss\nsrc => images 公共图片存放\nsrc => js js/vue\nsrc => lib 公司内部组件(公司组件库开源后可删掉)\nsrc => sass sass文件 一个页面对应一个sass文件\nsrc => view 页面文件 一个页面对应一个html文件\n> 项目采用vue单页面应用(SPA)开发\n- 所有页面入口文件在 `src/js/conf/${对应页面文件名 => home}` 的 `index.js` 入口文件\n- 对应的sass文件则在 `src/sass/conf/${对应页面文件名 => home}/index.scss`\n- 对应的html文件则在 `src/view/${对应页面文件名 => home}/index.html`\n公共模块及util src/js/module\ncomponents => 内部项目公共组件\ndownload => 下载组件\necharts => 图表组件\nfilter => 过滤器和vue管道\ni18n => 国际化\nio => io请求封装 基于axios\nmixin => vue mixin 公共部分 用于disabled操作\npermissions => 权限操作\nutil => 工具\n系统功能模块\n首页 => http://localhost:8888/#/home\n项目管理 => http://localhost:8888/#/projects/list\n| 项目首页\n| 工作流\n - 工作流定义\n - 工作流实例\n - 任务实例\n资源管理 => http://localhost:8888/#/resource/file\n| 文件管理\n| UDF管理\n - 资源管理\n - 函数管理\n数据源管理 => http://localhost:8888/#/datasource/list\n安全中心 => http://localhost:8888/#/security/tenant\n| 租户管理\n| 用户管理\n| 告警组管理\n - master\n - worker\n用户中心 => http://localhost:8888/#/user/account\n路由和状态管理\n项目 src/js/conf/home 下分为\npages => 路由指向页面目录\n 路由地址对应的页面文件\nrouter => 路由管理\nvue的路由器,在每个页面的入口文件index.js 都会注册进来 具体操作:https://router.vuejs.org/zh/\nstore => 状态管理\n每个路由对应的页面都有一个状态管理的文件 分为:\n\nactions => mapActions => 详情:https://vuex.vuejs.org/zh/guide/actions.html\n\ngetters => mapGetters => 详情:https://vuex.vuejs.org/zh/guide/getters.html\n\nindex => 入口\n\nmutations => mapMutations => 详情:https://vuex.vuejs.org/zh/guide/mutations.html\n\nstate => mapState => 详情:https://vuex.vuejs.org/zh/guide/state.html\n\n具体操作:https://vuex.vuejs.org/zh/\n规范\nVue规范\n1.组件名\n组件名为多个单词,并且用连接线(-)连接,避免与 HTML 标签冲突,并且结构更加清晰。\n// 正例\nexport default {\n name: 'page-article-item'\n}\n2.组件文件\nsrc/js/module/components项目内部公共组件书写文件夹名与文件名同名,公共组件内部所拆分的子组件与util工具都放置组件内部 _source文件夹里。\n└── components\n ├── header\n ├── header.vue\n └── _source\n └── nav.vue\n └── util.js\n ├── conditions\n ├── conditions.vue\n └── _source\n └── serach.vue\n └── util.js\n3.Prop\n定义 Prop 的时候应该始终以驼峰格式(camelCase)命名,在父组件赋值的时候使用连接线(-)。\n这里遵循每个语言的特性,因为在 HTML 标记中对大小写是不敏感的,使用连接线更加友好;而在 JavaScript 中更自然的是驼峰命名。\n// Vue\nprops: {\n articleStatus: Boolean\n}\n// HTML\n\nProp 的定义应该尽量详细的指定其类型、默认值和验证。\n示例:\nprops: {\n attrM: Number,\n attrA: {\n type: String,\n required: true\n },\n attrZ: {\n type: Object,\n // 数组/对象的默认值应该由一个工厂函数返回\n default: function () {\n return {\n msg: '成就你我'\n }\n }\n },\n attrE: {\n type: String,\n validator: function (v) {\n return !(['success', 'fail'].indexOf(v) === -1) \n }\n }\n}\n4.v-for\n在执行 v-for 遍历的时候,总是应该带上 key 值使更新 DOM 时渲染效率更高。\n\n \n {{ item.title }}\n \n\nv-for 应该避免与 v-if 在同一个元素(例如:)上使用,因为 v-for 的优先级比 v-if 更高,为了避免无效计算和渲染,应该尽量将 v-if 放到容器的父元素之上。\n\n \n {{ item.title }}\n \n\n5.v-if / v-else-if / v-else\n若同一组 v-if 逻辑控制中的元素逻辑相同,Vue 为了更高效的元素切换,会复用相同的部分,例如:value。为了避免复用带来的不合理效果,应该在同种元素上加上 key 做标识。\n\n {{ mazeyData }}\n\n\n 无数据\n\n6.指令缩写\n为了统一规范始终使用指令缩写,使用v-bind,v-on并没有什么不好,这里仅为了统一规范。\n\n7.单文件组件的顶级元素顺序\n样式后续都是打包在一个文件里,所有在单个vue文件中定义的样式,在别的文件里同类名的样式也是会生效的所有在创建一个组件前都会有个顶级类名\n注意:项目内已经增加了sass插件,单个vue文件里可以直接书写sass语法\n为了统一和便于阅读,应该按 、、的顺序放置。\n\n \n test\n \n\n\n export default {\n name: \"test\",\n data() {\n return {}\n },\n props: {},\n methods: {},\n watch: {},\n beforeCreate() {\n },\n created() {\n },\n beforeMount() {\n },\n mounted() {\n },\n beforeUpdate() {\n },\n updated() {\n },\n beforeDestroy() {\n },\n destroyed() {\n },\n computed: {},\n components: {},\n }\n\n\n\n .test-model {\n\n }\n\nJavaScript规范\n1.var / let / const\n建议不再使用 var,而使用 let / const,优先使用 const。任何一个变量的使用都要提前申明,除了 function 定义的函数可以随便放在任何位置。\n2.引号\nconst foo = '后除'\nconst bar = `${foo},前端工程师`\n3.函数\n匿名函数统一使用箭头函数,多个参数/返回值时优先使用对象的结构赋值。\nfunction getPersonInfo ({name, sex}) {\n // ...\n return {name, gender}\n}\n函数名统一使用驼峰命名,以大写字母开头申明的都是构造函数,使用小写字母开头的都是普通函数,也不该使用 new 操作符去操作普通函数。\n4.对象\nconst foo = {a: 0, b: 1}\nconst bar = JSON.parse(JSON.stringify(foo))\n\nconst foo = {a: 0, b: 1}\nconst bar = {...foo, c: 2}\n\nconst foo = {a: 3}\nObject.assign(foo, {b: 4})\n\nconst myMap = new Map([])\nfor (let [key, value] of myMap.entries()) {\n // ...\n}\n5.模块\n统一使用 import / export 的方式管理项目的模块。\n// lib.js\nexport default {}\n\n// app.js\nimport app from './lib'\nimport 统一放在文件顶部。\n如果模块只有一个输出值,使用 export default,否则不用。\nHTML / CSS\n1.标签\n在引用外部 CSS 或 JavaScript 时不写 type 属性。HTML5 默认 type 为 text/css 和 text/javascript 属性,所以没必要指定。\n\n\n2.命名\nClass 和 ID 的命名应该语义化,通过看名字就知道是干嘛的;多个单词用连接线 - 连接。\n// 正例\n.test-header{\n font-size: 20px;\n}\n3.属性缩写\nCSS 属性尽量使用缩写,提高代码的效率和方便理解。\n// 反例\nborder-width: 1px;\nborder-style: solid;\nborder-color: #ccc;\n\n// 正例\nborder: 1px solid #ccc;\n4.文档类型\n应该总是使用 HTML5 标准。\n\n5.注释\n应该给一个模块文件写一个区块注释。\n/**\n* @module mazey/api\n* @author Mazey \n* @description test.\n* */\n接口\n所有的接口都以 Promise 形式返回\n注意非0都为错误走catch\nconst test = () => {\n return new Promise((resolve, reject) => {\n resolve({\n a:1\n })\n })\n}\n\n// 调用\ntest.then(res => {\n console.log(res)\n // {a:1}\n})\n正常返回\n{\n code:0,\n data:{}\n msg:'成功'\n}\n错误返回\n{\n code:10000, \n data:{}\n msg:'失败'\n}\n相关接口路径\ndag 相关接口 src/js/conf/home/store/dag/actions.js\n数据源中心 相关接口 src/js/conf/home/store/datasource/actions.js\n项目管理 相关接口 src/js/conf/home/store/projects/actions.js\n资源中心 相关接口 src/js/conf/home/store/resource/actions.js\n安全中心 相关接口 src/js/conf/home/store/security/actions.js\n用户中心 相关接口 src/js/conf/home/store/user/actions.js\n扩展开发\n1.增加节点\n(1) 先将节点的icon小图标放置src/js/conf/home/pages/dag/img文件夹内,注意 toolbar_${后台定义的节点的英文名称 例如:SHELL}.png\n(2) 找到 src/js/conf/home/pages/dag/_source/config.js 里的 tasksType 对象,往里增加\n'DEPENDENT': { // 后台定义节点类型英文名称用作key值\n desc: 'DEPENDENT', // tooltip desc\n color: '#2FBFD8' // 代表的颜色主要用于 tree和gantt 两张图\n}\n(3) 在 src/js/conf/home/pages/dag/_source/formModel/tasks 增加一个 ${节点类型(小写)}.vue 文件,跟当前节点相关的组件内容都在这里写。 属于节点组件内的必须拥有一个函数 _verification() 验证成功后讲当前组件的相关数据往父组件抛。\n/**\n * 验证\n*/\n _verification () {\n // datasource 子组件验证\n if (!this.$refs.refDs._verifDatasource()) {\n return false\n }\n\n // 验证函数\n if (!this.method) {\n this.$message.warning(`${i18n.$t('请输入方法')}`)\n return false\n }\n\n // localParams 子组件验证\n if (!this.$refs.refLocalParams._verifProp()) {\n return false\n }\n // 存储\n this.$emit('on-params', {\n type: this.type,\n datasource: this.datasource,\n method: this.method,\n localParams: this.localParams\n })\n return true\n }\n(4) 节点组件内部所用到公共的组件都在_source下,commcon.js用与配置公共数据\n2.增加状态类型\n(1) 找到 src/js/conf/home/pages/dag/_source/config.js 里的 tasksState 对象,往里增加\n'WAITTING_DEPEND': { //后端定义状态类型 前端用作key值\n id: 11, // 前端定义id 后续用作排序\n desc: `${i18n.$t('等待依赖')}`, // tooltip desc\n color: '#5101be', // 代表的颜色主要用于 tree和gantt 两张图\n icoUnicode: '', // 字体图标 \n isSpin: false // 是否旋转(需代码判断)\n}\n3.增加操作栏工具\n(1) 找到 src/js/conf/home/pages/dag/_source/config.js 里的 toolOper 对象,往里增加\n{\n code: 'pointer', // 工具标识\n icon: '', // 工具图标 \n disable: disable, // 是否禁用\n desc: `${i18n.$t('拖动节点和选中项')}` // tooltip desc\n}\n(2) 工具类都以一个构造函数返回 src/js/conf/home/pages/dag/_source/plugIn\ndownChart.js => dag 图片下载处理 \ndragZoom.js => 鼠标缩放效果处理 \njsPlumbHandle.js => 拖拽线条处理 \nutil.js => 属于 plugIn 工具类\n操作则在 src/js/conf/home/pages/dag/_source/dag.js => toolbarEvent 事件中处理。\n3.增加一个路由页面\n(1) 首先在路由管理增加一个路由地址src/js/conf/home/router/index.js\n{\n path: '/test', // 路由地址 \n name: 'test', // 别名\n component: resolve => require(['../pages/test/index'], resolve), // 路由对应组件入口文件\n meta: {\n title: `${i18n.$t('test')} - EasyScheduler` // title 显示\n }\n},\n(2) 在src/js/conf/home/pages 建一个 test 文件夹,在文件夹里建一个index.vue入口文件。\n这样就可以直接访问 `http://localhost:8888/#/test`\n4.增加预置邮箱\n找到src/lib/localData/email.js启动和定时邮箱地址输入可以自动下拉匹配。\nexport default [\"test@analysys.com.cn\",\"test1@analysys.com.cn\",\"test3@analysys.com.cn\"]\n5.权限管理及disabled状态处理\n权限根据后端接口getUserInfo接口给出userType: \"ADMIN_USER/GENERAL_USER\"权限控制页面操作按钮是否disabled\n具体操作:src/js/module/permissions/index.js\ndisabled处理:src/js/module/mixin/disabledState.js\n"},"architecture-design.html":{"url":"architecture-design.html","title":"系统架构设计","keywords":"","body":"调度系统架构设计\n在对系统架构说明之前,我们先来认识一下调度系统常用的名词\n1.名词解释\nDAG: 全称Directed Acyclic Graph,简称DAG。工作流中的Task任务以有向无环图的形式组装起来,从入度为零的节点进行拓扑遍历,直到无后继节点为止。举例如下图:\n\n \n \n dag示例\n \n\n**流程定义**:通过拖拽任务节点并建立任务节点的关联所形成的可视化**DAG**\n\n**流程实例**:流程实例是流程定义的实例化,可以通过手动启动或定时调度生成\n\n**任务实例**:任务实例是流程定义中任务节点的实例化,标识着具体的任务执行状态\n\n**任务类型**: 目前支持有SHELL、SQL、SUB_PROCESS、PROCEDURE、MR、SPARK、PYTHON、DEPENDENT,同时计划支持动态插件扩展,注意:其中子 **SUB_PROCESS** 也是一个单独的流程定义,是可以单独启动执行的\n\n**调度方式:** 系统支持基于cron表达式的定时调度和手动调度。命令类型支持:启动工作流、从当前节点开始执行、恢复被容错的工作流、恢复暂停流程、从失败节点开始执行、补数、调度、重跑、暂停、停止、恢复等待线程。其中 **恢复被容错的工作流** 和 **恢复等待线程 **两种命令类型是由调度内部控制使用,外部无法调用\n\n**定时调度**:系统采用 **quartz** 分布式调度器,并同时支持cron表达式可视化的生成\n\n**依赖**:系统不单单支持 **DAG** 简单的前驱和后继节点之间的依赖,同时还提供**任务依赖**节点,支持**流程间的自定义任务依赖**\n\n**优先级** :支持流程实例和任务实例的优先级,如果流程实例和任务实例的优先级不设置,则默认是先进先出\n\n**邮件告警**:支持 **SQL任务** 查询结果邮件发送,流程实例运行结果邮件告警及容错告警通知\n\n**失败策略**:对于并行运行的任务,如果有任务失败,提供两种失败策略处理方式,**继续**是指不管并行运行任务的状态,直到流程失败结束。**结束**是指一旦发现失败任务,则同时Kill掉正在运行的并行任务,流程失败结束\n\n**补数**:补历史数据,支持**区间并行和串行**两种补数方式\n\n### 2.系统架构\n\n#### 2.1 系统架构图\n\n \n \n 系统架构图\n \n\n\n2.2 架构说明\n\nMasterServer \n MasterServer采用分布式无中心设计理念,MasterServer主要负责 DAG 任务切分、任务提交监控,并同时监听其它MasterServer和WorkerServer的健康状态。\n MasterServer服务启动时向Zookeeper注册临时节点,通过监听Zookeeper临时节点变化来进行容错处理。\n该服务内主要包含:\n\nDistributed Quartz分布式调度组件,主要负责定时任务的启停操作,当quartz调起任务后,Master内部会有线程池具体负责处理任务的后续操作\n\nMasterSchedulerThread是一个扫描线程,定时扫描数据库中的 command 表,根据不同的命令类型进行不同的业务操作\n\nMasterExecThread主要是负责DAG任务切分、任务提交监控、各种不同命令类型的逻辑处理\n\nMasterTaskExecThread主要负责任务的持久化\n\n\n\nWorkerServer \n WorkerServer也采用分布式无中心设计理念,WorkerServer主要负责任务的执行和提供日志服务。WorkerServer服务启动时向Zookeeper注册临时节点,并维持心跳。\n该服务包含:\n\nFetchTaskThread主要负责不断从Task Queue中领取任务,并根据不同任务类型调用TaskScheduleThread对应执行器。\n\nLoggerServer是一个RPC服务,提供日志分片查看、刷新和下载等功能\n\n\n\nZooKeeper \n ZooKeeper服务,系统中的MasterServer和WorkerServer节点都通过ZooKeeper来进行集群管理和容错。另外系统还基于ZooKeeper进行事件监听和分布式锁。\n 我们也曾经基于Redis实现过队列,不过我们希望EasyScheduler依赖到的组件尽量地少,所以最后还是去掉了Redis实现。\n\nTask Queue \n 提供任务队列的操作,目前队列也是基于Zookeeper来实现。由于队列中存的信息较少,不必担心队列里数据过多的情况,实际上我们压测过百万级数据存队列,对系统稳定性和性能没影响。\n\nAlert \n 提供告警相关接口,接口主要包括告警两种类型的告警数据的存储、查询和通知功能。其中通知功能又有邮件通知和SNMP(暂未实现)两种。\n\nAPI \n API接口层,主要负责处理前端UI层的请求。该服务统一提供RESTful api向外部提供请求服务。\n 接口包括工作流的创建、定义、查询、修改、发布、下线、手工启动、停止、暂停、恢复、从该节点开始执行等等。\n\nUI \n 系统的前端页面,提供系统的各种可视化操作界面,详见使用手册部分。\n\n\n2.3 架构设计思想\n一、去中心化vs中心化\n中心化思想\n中心化的设计理念比较简单,分布式集群中的节点按照角色分工,大体上分为两种角色:\n\n \n \n- Master的角色主要负责任务分发并监督Slave的健康状态,可以动态的将任务均衡到Slave上,以致Slave节点不至于“忙死”或”闲死”的状态。\n- Worker的角色主要负责任务的执行工作并维护和Master的心跳,以便Master可以分配任务给Slave。\n\n\n\n中心化思想设计存在的问题:\n\n- 一旦Master出现了问题,则群龙无首,整个集群就会崩溃。为了解决这个问题,大多数Master/Slave架构模式都采用了主备Master的设计方案,可以是热备或者冷备,也可以是自动切换或手动切换,而且越来越多的新系统都开始具备自动选举切换Master的能力,以提升系统的可用性。\n- 另外一个问题是如果Scheduler在Master上,虽然可以支持一个DAG中不同的任务运行在不同的机器上,但是会产生Master的过负载。如果Scheduler在Slave上,则一个DAG中所有的任务都只能在某一台机器上进行作业提交,则并行任务比较多的时候,Slave的压力可能会比较大。\n\n\n\n###### 去中心化\n \n \n- 在去中心化设计里,通常没有Master/Slave的概念,所有的角色都是一样的,地位是平等的,全球互联网就是一个典型的去中心化的分布式系统,联网的任意节点设备down机,都只会影响很小范围的功能。\n- 去中心化设计的核心设计在于整个分布式系统中不存在一个区别于其他节点的”管理者”,因此不存在单点故障问题。但由于不存在” 管理者”节点所以每个节点都需要跟其他节点通信才得到必须要的机器信息,而分布式系统通信的不可靠行,则大大增加了上述功能的实现难度。\n- 实际上,真正去中心化的分布式系统并不多见。反而动态中心化分布式系统正在不断涌出。在这种架构下,集群中的管理者是被动态选择出来的,而不是预置的,并且集群在发生故障的时候,集群的节点会自发的举行\"会议\"来选举新的\"管理者\"去主持工作。最典型的案例就是ZooKeeper及Go语言实现的Etcd。\n\n\n\n- EasyScheduler的去中心化是Master/Worker注册到Zookeeper中,实现Master集群和Worker集群无中心,并使用Zookeeper分布式锁来选举其中的一台Master或Worker为“管理者”来执行任务。\n\n##### 二、分布式锁实践\n\nEasyScheduler使用ZooKeeper分布式锁来实现同一时刻只有一台Master执行Scheduler,或者只有一台Worker执行任务的提交。\n1. 获取分布式锁的核心流程算法如下\n \n \n \n\n\nEasyScheduler中Scheduler线程分布式锁实现流程图:\n\n\n\n\n\n\n三、线程不足循环等待问题\n\n如果一个DAG中没有子流程,则如果Command中的数据条数大于线程池设置的阈值,则直接流程等待或失败。\n如果一个大的DAG中嵌套了很多子流程,如下图则会产生“死等”状态:\n\n\n\n上图中MainFlowThread等待SubFlowThread1结束,SubFlowThread1等待SubFlowThread2结束, SubFlowThread2等待SubFlowThread3结束,而SubFlowThread3等待线程池有新线程,则整个DAG流程不能结束,从而其中的线程也不能释放。这样就形成的子父流程循环等待的状态。此时除非启动新的Master来增加线程来打破这样的”僵局”,否则调度集群将不能再使用。\n\n\n对于启动新Master来打破僵局,似乎有点差强人意,于是我们提出了以下三种方案来降低这种风险:\n\n计算所有Master的线程总和,然后对每一个DAG需要计算其需要的线程数,也就是在DAG流程执行之前做预计算。因为是多Master线程池,所以总线程数不太可能实时获取。 \n对单Master线程池进行判断,如果线程池已经满了,则让线程直接失败。\n增加一种资源不足的Command类型,如果线程池不足,则将主流程挂起。这样线程池就有了新的线程,可以让资源不足挂起的流程重新唤醒执行。\n\n注意:Master Scheduler线程在获取Command的时候是FIFO的方式执行的。\n于是我们选择了第三种方式来解决线程不足的问题。\n四、容错设计\n容错分为服务宕机容错和任务重试,服务宕机容错又分为Master容错和Worker容错两种情况\n1. 宕机容错\n服务容错设计依赖于ZooKeeper的Watcher机制,实现原理如图:\n \n \n \n其中Master监控其他Master和Worker的目录,如果监听到remove事件,则会根据具体的业务逻辑进行流程实例容错或者任务实例容错。\n\n\n\n- Master容错流程图:\n\n \n \n \nZooKeeper Master容错完成之后则重新由EasyScheduler中Scheduler线程调度,遍历 DAG 找到”正在运行”和“提交成功”的任务,对”正在运行”的任务监控其任务实例的状态,对”提交成功”的任务需要判断Task Queue中是否已经存在,如果存在则同样监控任务实例的状态,如果不存在则重新提交任务实例。\n\n\n\n- Worker容错流程图:\n\n \n \n \nMaster Scheduler线程一旦发现任务实例为” 需要容错”状态,则接管任务并进行重新提交。\n\n注意:由于” 网络抖动”可能会使得节点短时间内失去和ZooKeeper的心跳,从而发生节点的remove事件。对于这种情况,我们使用最简单的方式,那就是节点一旦和ZooKeeper发生超时连接,则直接将Master或Worker服务停掉。\n\n###### 2.任务失败重试\n\n这里首先要区分任务失败重试、流程失败恢复、流程失败重跑的概念:\n\n- 任务失败重试是任务级别的,是调度系统自动进行的,比如一个Shell任务设置重试次数为3次,那么在Shell任务运行失败后会自己再最多尝试运行3次\n- 流程失败恢复是流程级别的,是手动进行的,恢复是从只能**从失败的节点开始执行**或**从当前节点开始执行**\n- 流程失败重跑也是流程级别的,是手动进行的,重跑是从开始节点进行\n\n\n\n接下来说正题,我们将工作流中的任务节点分了两种类型。\n\n- 一种是业务节点,这种节点都对应一个实际的脚本或者处理语句,比如Shell节点,MR节点、Spark节点、依赖节点等。\n\n- 还有一种是逻辑节点,这种节点不做实际的脚本或语句处理,只是整个流程流转的逻辑处理,比如子流程节等。\n\n每一个**业务节点**都可以配置失败重试的次数,当该任务节点失败,会自动重试,直到成功或者超过配置的重试次数。**逻辑节点**不支持失败重试。但是逻辑节点里的任务支持重试。\n\n如果工作流中有任务失败达到最大重试次数,工作流就会失败停止,失败的工作流可以手动进行重跑操作或者流程恢复操作\n\n\n\n##### 五、任务优先级设计\n在早期调度设计中,如果没有优先级设计,采用公平调度设计的话,会遇到先行提交的任务可能会和后继提交的任务同时完成的情况,而不能做到设置流程或者任务的优先级,因此我们对此进行了重新设计,目前我们设计如下:\n\n- 按照**不同流程实例优先级**优先于**同一个流程实例优先级**优先于**同一流程内任务优先级**优先于**同一流程内任务**提交顺序依次从高到低进行任务处理。\n - 具体实现是根据任务实例的json解析优先级,然后把**流程实例优先级_流程实例id_任务优先级_任务id**信息保存在ZooKeeper任务队列中,当从任务队列获取的时候,通过字符串比较即可得出最需要优先执行的任务\n\n - 其中流程定义的优先级是考虑到有些流程需要先于其他流程进行处理,这个可以在流程启动或者定时启动时配置,共有5级,依次为HIGHEST、HIGH、MEDIUM、LOW、LOWEST。如下图\n \n \n \n\n - 任务的优先级也分为5级,依次为HIGHEST、HIGH、MEDIUM、LOW、LOWEST。如下图\n \n \n \n六、Logback和gRPC实现日志访问\n\n由于Web(UI)和Worker不一定在同一台机器上,所以查看日志不能像查询本地文件那样。有两种方案:\n\n将日志放到ES搜索引擎上\n通过gRPC通信获取远程日志信息\n\n\n介于考虑到尽可能的EasyScheduler的轻量级性,所以选择了gRPC实现远程访问日志信息。\n\n\n\n\n\n\n\n\n我们使用自定义Logback的FileAppender和Filter功能,实现每个任务实例生成一个日志文件。\nFileAppender主要实现如下:\n/**\n* task log appender\n*/\npublic class TaskLogAppender extends FileAppender\n\n\n以/流程定义id/流程实例id/任务实例id.log的形式生成日志\n\n过滤匹配以TaskLogInfo开始的线程名称:\n\nTaskLogFilter实现如下:\n/**\n* task log filter\n*/\npublic class TaskLogFilter extends Filter\n\n\n总结\n本文从调度出发,初步介绍了大数据分布式工作流调度系统--EasyScheduler的架构原理及实现思路。后续会补充\n"},"backend-deploy.html":{"url":"backend-deploy.html","title":"部署文档","keywords":"","body":"部署文档\n基础软件安装\n\nmysql (5.5+) : 必装\nzookeeper(3.4.6) :必装 \nhadoop(2.7.3) :选装,资源上传,MR任务提交需要安装\nhive(1.2.1) : 选装,hive任务提交需要安装\nspark(1.x,2.x) : 选装,spark任务提交需要安装\npostgresql(8.2.15+) : 选装,postgresql sql任务和postgresql 存储过程需要安装\n\n项目编译\n\n执行编译命令:\n\n mvn -U clean package assembly:assembly -Dmaven.test.skip=true\n\n查看目录\n\n正常编译完后,会在当前目录生成 target/escheduler-{version}/\n bin\n conf\n lib\n script\n sql\n install.sh\n\n说明\n\nbin : 基础服务启动脚本\nconf : 项目配置文件\nlib : 项目依赖jar包,包括各个模块jar和第三方jar\nscript : 集群启动、停止和服务监控启停脚本\nsql : 项目依赖sql文件\ninstall.sh : 一键部署脚本\n数据库初始化\n\n创建db和账号\n\nmysql -h {host} -u {user} -p{password}\nmysql> CREATE DATABASE escheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;\nmysql> GRANT ALL PRIVILEGES ON escheduler.* TO '{user}'@'%' IDENTIFIED BY '{password}';\nmysql> GRANT ALL PRIVILEGES ON escheduler.* TO '{user}'@'localhost' IDENTIFIED BY '{password}';\nmysql> flush privileges;\n\n创建表\n\n说明:在 target/escheduler-{version}/sql/escheduler.sql和quartz.sql\n\nmysql -h {host} -u {user} -p{password} -D {db} 创建部署用户\n因为escheduler worker 都是以 sudo -u {linux-user} 方式来执行作业,所以部署用户需要有 sudo 权限,而且是免密的。\nvi /etc/sudoers\n\n# 部署用户是 escheduler 账号\nescheduler ALL=(ALL) NOPASSWD: NOPASSWD: ALL\n\n# 并且需要注释掉 Default requiretty 一行\n#Default requiretty\n\n配置文件说明\n说明:配置文件位于 target/escheduler-{version}/conf 下面\nescheduler-alert\n配置邮件告警信息\n\nalert.properties \n\n#alert type is EMAIL/SMS\nalert.type=EMAIL\n\n# mail server configuration\nmail.protocol=SMTP\nmail.server.host=smtp.exmail.qq.com\nmail.server.port=25\nmail.sender=xxxxxxx\nmail.passwd=xxxxxxx\n\n# xls file path,need create if not exist\nxls.file.path=/opt/xls\nescheduler-common\n通用配置文件配置,队列选择及地址配置,通用文件目录配置\n\ncommon/common.properties\n\n#task queue implementation, default \"zookeeper\"\nescheduler.queue.impl=zookeeper\n\n# user data directory path, self configuration, please make sure the directory exists and have read write permissions\ndata.basedir.path=/tmp/escheduler\n\n# directory path for user data download. self configuration, please make sure the directory exists and have read write permissions\ndata.download.basedir.path=/tmp/escheduler/download\n\n# process execute directory. self configuration, please make sure the directory exists and have read write permissions\nprocess.exec.basepath=/tmp/escheduler/exec\n\n# data base dir, resource file will store to this hadoop hdfs path, self configuration, please make sure the directory exists on hdfs and have read write permissions。\"/escheduler\" is recommended\ndata.store2hdfs.basepath=/escheduler\n\n# whether hdfs starts\nhdfs.startup.state=true\n\n# system env path. self configuration, please make sure the directory and file exists and have read write execute permissions\nescheduler.env.path=/opt/.escheduler_env.sh\nescheduler.env.py=/opt/escheduler_env.py\n\n#resource.view.suffixs\nresource.view.suffixs=txt,log,sh,conf,cfg,py,java,sql,hql,xml\n\n# is development state? default \"false\"\ndevelopment.state=false\nSHELL任务 环境变量配置\n说明:配置文件位于 target/escheduler-{version}/conf/env 下面\n.escheduler_env.sh \nexport HADOOP_HOME=/opt/soft/hadoop\nexport HADOOP_CONF_DIR=/opt/soft/hadoop/etc/hadoop\nexport SPARK_HOME1=/opt/soft/spark1\nexport SPARK_HOME2=/opt/soft/spark2\nexport PYTHON_HOME=/opt/soft/python\nexport JAVA_HOME=/opt/soft/java\nexport HIVE_HOME=/opt/soft/hive\n\nexport PATH=$HADOOP_HOME/bin:$SPARK_HOME1/bin:$SPARK_HOME2/bin:$PYTHON_HOME/bin:$JAVA_HOME/bin:$HIVE_HOME/bin:$PATH\n \nPython任务 环境变量配置\n说明:配置文件位于 target/escheduler-{version}/conf/env 下面\nescheduler_env.py\nimport os\n\nHADOOP_HOME=\"/opt/soft/hadoop\"\nSPARK_HOME1=\"/opt/soft/spark1\"\nSPARK_HOME2=\"/opt/soft/spark2\"\nPYTHON_HOME=\"/opt/soft/python\"\nJAVA_HOME=\"/opt/soft/java\"\nHIVE_HOME=\"/opt/soft/hive\"\nPATH=os.environ['PATH']\nPATH=\"%s/bin:%s/bin:%s/bin:%s/bin:%s/bin:%s/bin:%s\"%(HIVE_HOME,HADOOP_HOME,SPARK_HOME1,SPARK_HOME2,JAVA_HOME,PYTHON_HOME,PATH)\n\nos.putenv('PATH','%s'%PATH)\nhadoop 配置文件\n\ncommon/hadoop/hadoop.properties\n\n# ha or single namenode,If namenode ha needs to copy core-site.xml and hdfs-site.xml to the conf directory\nfs.defaultFS=hdfs://mycluster:8020\n\n#resourcemanager ha note this need ips , this empty if single\nyarn.resourcemanager.ha.rm.ids=192.168.xx.xx,192.168.xx.xx\n\n# If it is a single resourcemanager, you only need to configure one host name. If it is resourcemanager HA, the default configuration is fine\nyarn.application.status.address=http://ark1:8088/ws/v1/cluster/apps/%s\n定时器配置文件\n\nquartz.properties\n\n#============================================================================\n# Configure Main Scheduler Properties\n#============================================================================\norg.quartz.scheduler.instanceName = EasyScheduler\norg.quartz.scheduler.instanceId = AUTO\norg.quartz.scheduler.makeSchedulerThreadDaemon = true\norg.quartz.jobStore.useProperties = false\n\n#============================================================================\n# Configure ThreadPool\n#============================================================================\n\norg.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool\norg.quartz.threadPool.makeThreadsDaemons = true\norg.quartz.threadPool.threadCount = 25\norg.quartz.threadPool.threadPriority = 5\n\n#============================================================================\n# Configure JobStore\n#============================================================================\n\norg.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX\norg.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate\norg.quartz.jobStore.tablePrefix = QRTZ_\norg.quartz.jobStore.isClustered = true\norg.quartz.jobStore.misfireThreshold = 60000\norg.quartz.jobStore.clusterCheckinInterval = 5000\norg.quartz.jobStore.dataSource = myDs\n\n#============================================================================\n# Configure Datasources \n#============================================================================\n\norg.quartz.dataSource.myDs.driver = com.mysql.jdbc.Driver\norg.quartz.dataSource.myDs.URL = jdbc:mysql://192.168.xx.xx:3306/escheduler?characterEncoding=utf8&useSSL=false\norg.quartz.dataSource.myDs.user = xx\norg.quartz.dataSource.myDs.password = xx\norg.quartz.dataSource.myDs.maxConnections = 10\norg.quartz.dataSource.myDs.validationQuery = select 1\nzookeeper 配置文件\n\nzookeeper.properties\n\n#zookeeper cluster\nzookeeper.quorum=192.168.xx.xx:2181,192.168.xx.xx:2181,192.168.xx.xx:2181\n\n#escheduler root directory\nzookeeper.escheduler.root=/escheduler\n\n#zookeeper server dirctory\nzookeeper.escheduler.dead.servers=/escheduler/dead-servers\nzookeeper.escheduler.masters=/escheduler/masters\nzookeeper.escheduler.workers=/escheduler/workers\n\n#zookeeper lock dirctory\nzookeeper.escheduler.lock.masters=/escheduler/lock/masters\nzookeeper.escheduler.lock.workers=/escheduler/lock/workers\n\n#escheduler failover directory\nzookeeper.escheduler.lock.masters.failover=/escheduler/lock/failover/masters\nzookeeper.escheduler.lock.workers.failover=/escheduler/lock/failover/workers\n\n#escheduler failover directory\nzookeeper.session.timeout=300\nzookeeper.connection.timeout=300\nzookeeper.retry.sleep=1000\nzookeeper.retry.maxtime=5\nescheduler-dao\ndao数据源配置\n\ndao/data_source.properties\n\n# base spring data source configuration\nspring.datasource.type=com.alibaba.druid.pool.DruidDataSource\nspring.datasource.driver-class-name=com.mysql.jdbc.Driver\nspring.datasource.url=jdbc:mysql://192.168.xx.xx:3306/escheduler?characterEncoding=UTF-8\nspring.datasource.username=xx\nspring.datasource.password=xx\n\n# connection configuration\nspring.datasource.initialSize=5\n# min connection number\nspring.datasource.minIdle=5\n# max connection number\nspring.datasource.maxActive=50\n\n# max wait time for get a connection in milliseconds. if configuring maxWait, fair locks are enabled by default and concurrency efficiency decreases.\n# If necessary, unfair locks can be used by configuring the useUnfairLock attribute to true.\nspring.datasource.maxWait=60000\n\n# milliseconds for check to close free connections\nspring.datasource.timeBetweenEvictionRunsMillis=60000\n\n# the Destroy thread detects the connection interval and closes the physical connection in milliseconds if the connection idle time is greater than or equal to minEvictableIdleTimeMillis.\nspring.datasource.timeBetweenConnectErrorMillis=60000\n\n# the longest time a connection remains idle without being evicted, in milliseconds\nspring.datasource.minEvictableIdleTimeMillis=300000\n\n#the SQL used to check whether the connection is valid requires a query statement. If validation Query is null, testOnBorrow, testOnReturn, and testWhileIdle will not work.\nspring.datasource.validationQuery=SELECT 1\n#check whether the connection is valid for timeout, in seconds\nspring.datasource.validationQueryTimeout=3\n\n# when applying for a connection, if it is detected that the connection is idle longer than time Between Eviction Runs Millis,\n# validation Query is performed to check whether the connection is valid\nspring.datasource.testWhileIdle=true\n\n#execute validation to check if the connection is valid when applying for a connection\nspring.datasource.testOnBorrow=true\n#execute validation to check if the connection is valid when the connection is returned\nspring.datasource.testOnReturn=false\nspring.datasource.defaultAutoCommit=true\nspring.datasource.keepAlive=true\n\n# open PSCache, specify count PSCache for every connection\nspring.datasource.poolPreparedStatements=true\nspring.datasource.maxPoolPreparedStatementPerConnectionSize=20\nescheduler-server\nmaster配置文件\n\nmaster.properties\n\n# master execute thread num\nmaster.exec.threads=100\n\n# master execute task number in parallel\nmaster.exec.task.number=20\n\n# master heartbeat interval\nmaster.heartbeat.interval=10\n\n# master commit task retry times\nmaster.task.commit.retryTimes=5\n\n# master commit task interval\nmaster.task.commit.interval=100\n\n\n# only less than cpu avg load, master server can work. default value : the number of cpu cores * 2\nmaster.max.cpuload.avg=10\n\n# only larger than reserved memory, master server can work. default value : physical memory * 1/10, unit is G.\nmaster.reserved.memory=1\nworker配置文件\n\nworker.properties\n\n# worker execute thread num\nworker.exec.threads=100\n\n# worker heartbeat interval\nworker.heartbeat.interval=10\n\n# submit the number of tasks at a time\nworker.fetch.task.num = 10\n\n\n# only less than cpu avg load, worker server can work. default value : the number of cpu cores * 2\nworker.max.cpuload.avg=10\n\n# only larger than reserved memory, worker server can work. default value : physical memory * 1/6, unit is G.\nworker.reserved.memory=1\nescheduler-api\nweb配置文件\n\napplication.properties\n\n# server port\nserver.port=12345\n\n# session config\nserver.session.timeout=7200\n\n\nserver.context-path=/escheduler/\n\n# file size limit for upload\nspring.http.multipart.max-file-size=1024MB\nspring.http.multipart.max-request-size=1024MB\n\n# post content\nserver.max-http-post-size=5000000\n伪分布式部署\n1,创建部署用户\n 如上 创建部署用户\n2,根据实际需求来创建HDFS根路径\n 根据 common/common.properties 中 hdfs.startup.state 的配置来判断是否启动HDFS,如果启动,则需要创建HDFS根路径,并将 owner 修改为部署用户,否则忽略此步骤\n3,项目编译\n 如上进行 项目编译\n4,修改配置文件\n 根据 配置文件说明 修改配置文件和 环境变量 文件\n5,创建目录并将环境变量文件复制到指定目录\n\n创建 common/common.properties 下的data.basedir.path、data.download.basedir.path和process.exec.basepath路径\n\n将.escheduler_env.sh 和 escheduler_env.py 两个环境变量文件复制到 common/common.properties配置的escheduler.env.path 和 escheduler.env.py 的目录下,并将 owner 修改为部署用户\n\n\n6,启停服务\n\n启停Master\n\nsh ./bin/arklifter-daemon.sh start master-server\nsh ./bin/arklifter-daemon.sh stop master-server\n\n\n启停Worker\n\nsh ./bin/arklifter-daemon.sh start worker-server\nsh ./bin/arklifter-daemon.sh stop worker-server\n\n启停Api\n\nsh ./bin/arklifter-daemon.sh start api-server\nsh ./bin/arklifter-daemon.sh stop api-server\n\n启停Logger\n\nsh ./bin/arklifter-daemon.sh start logger-server\nsh ./bin/arklifter-daemon.sh stop logger-server\n\n启停Alert\n\nsh ./bin/arklifter-daemon.sh start alert-server\nsh ./bin/arklifter-daemon.sh stop alert-server\n分布式部署\n1,创建部署用户\n\n在需要部署调度的机器上如上 创建部署用户\n将 主机器 和各个其它机器SSH打通\n\n2,根据实际需求来创建HDFS根路径\n 根据 common/common.properties 中 hdfs.startup.state 的配置来判断是否启动HDFS,如果启动,则需要创建HDFS根路径,并将 owner 修改为部署用户,否则忽略此步骤\n3,项目编译\n 如上进行 项目编译\n4,将环境变量文件复制到指定目录\n 将.escheduler_env.sh 和 escheduler_env.py 两个环境变量文件复制到 common/common.properties配置的escheduler.env.path 和 escheduler.env.py 的目录下,并将 owner 修改为部署用户\n5,修改 install.sh\n 修改 install.sh 中变量的值,替换成自身业务所需的值\n6,一键部署\n\n安装 pip install kazoo\n\n使用部署用户 sh install.sh 一键部署\n\n\n服务监控\nmonitor_server.py 脚本是监听,master和worker服务挂掉重启的脚本\n注意:在全部服务都启动之后启动\nnohup python -u monitor_server.py > nohup.out 2>&1 &\n日志查看\n日志统一存放于指定文件夹内\n logs/\n ├── escheduler-alert-server.log\n ├── escheduler-master-server.log\n |—— escheduler-worker-server.log\n |—— escheduler-api-server.log\n |—— escheduler-logger-server.log\n\n"},"task-plugin-development.html":{"url":"task-plugin-development.html","title":"自定义任务插件文档","keywords":"","body":"任务插件开发\n提醒:目前任务插件开发暂不支持热部署\n基于SHELL的任务\n基于YARN的计算(参见MapReduceTask)\n\n需要在 cn.escheduler.server.worker.task 下的 TaskManager 类中创建自定义任务(也需在TaskType注册对应的任务类型)\n需要继承cn.escheduler.server.worker.task 下的 AbstractYarnTask\n构造方法调度 AbstractYarnTask 构造方法\n继承 AbstractParameters 自定义任务参数实体\n重写 AbstractTask 的 init 方法中解析自定义任务参数\n重写 buildCommand 封装command\n\n基于非YARN的计算(参见ShellTask)\n\n需要在 cn.escheduler.server.worker.task 下的 TaskManager 中创建自定义任务\n\n需要继承cn.escheduler.server.worker.task 下的 AbstractTask\n\n构造方法中实例化 ShellCommandExecutor\npublic ShellTask(TaskProps props, Logger logger) {\n super(props, logger);\n\n this.taskDir = props.getTaskDir();\n\n this.processTask = new ShellCommandExecutor(this::logHandle,\n props.getTaskDir(), props.getTaskAppId(),\n props.getTenantCode(), props.getEnvFile(), props.getTaskStartTime(),\n props.getTaskTimeout(), logger);\n this.processDao = DaoFactory.getDaoInstance(ProcessDao.class);\n}\n传入自定义任务的 TaskProps和自定义Logger,TaskProps 封装了任务的信息,Logger分装了自定义日志信息\n\n继承 AbstractParameters 自定义任务参数实体\n\n重写 AbstractTask 的 init 方法中解析自定义任务参数实体\n\n重写 handle 方法,调用 ShellCommandExecutor 的 run 方法,第一个参数传入自己的command,第二个参数传入 ProcessDao,设置相应的 exitStatusCode\n\n\n基于非SHELL的任务(参见SqlTask)\n\n需要在 cn.escheduler.server.worker.task 下的 TaskManager 中创建自定义任务\n需要继承cn.escheduler.server.worker.task 下的 AbstractTask\n继承 AbstractParameters 自定义任务参数实体\n构造方法或者重写 AbstractTask 的 init 方法中,解析自定义任务参数实体\n重写 handle 方法实现业务逻辑并设置相应的exitStatusCode\n\n"}}}