code: function getRoute(exportFuncs, cb, ctrlpath, curCtrlname) {
    ctrlpath = ctrlpath || [];
  
    // 如果当前设置了不是路由，则直接返回
    if (exportFuncs.__controller__ === false) {
      return;
    }
  
    let totalCtrlname = curCtrlname ? ctrlpath.concat([curCtrlname]) : ctrlpath;
  
    // 只允许3级路由层级
    if (ctrlpath.length > 3) {
      debug(`嵌套路由对象层级不能超过3级：${totalCtrlname.join('/')}`);
      return;
    }
  
    // 如果是一个方法就直接执行cb
    if (typeof exportFuncs === 'function') {
      cb(exportFuncs, totalCtrlname);
    } else {
      // 否则进行循环递归查询
      for (let ctrlname in exportFuncs) {
        if (!exportFuncs.hasOwnProperty(ctrlname)) {
          continue
        }
  
        getRoute(exportFuncs[ctrlname], cb, totalCtrlname, ctrlname);
      }
    }
  }
docs: 递归生成路由，层级不超过3级
  @param  {Object|Function}  exportFuncs 获取到的路由
  @param  {Array}            ctrlpath    路由记录
  @return