docs: function($0, $1) {
                  // 排除注释掉的require
                  if(match.indexOf($0) === -1) return $0;
                  
                  // console.log('$1: ', $1);
                  // 处理common
                  var reqPath, flag = $1.slice(-2) === '!!' ? 2 : 1;
                  $1 = reqPath = flag === 2 ? $1.slice(0, -2): $1;
  
                  // console.log("flag:------------", $1, "----", flag);
                  // 处理绝对路径的情况
                  reqPath = path.isAbsolute(reqPath) ? reqPath : path.join(filebase, reqPath);
                  // TODO: 触发
                  //var absReqPath = path.join(buildPath, reqPath);
                  var absReqPath = reqPath.indexOf(buildPath) === 0 ? reqPath : path.join(buildPath, reqPath);
                  if (!fs.existsSync(absReqPath)) {
                      // 默认ext是.js
                      if (fs.existsSync(absReqPath + '.js')) {
                          reqPath += '.js';
                      } else {
                          // console.log('come in')
                          // 没有找到文件在检查是否有别名
                          for(var i in aliasObj){
                              var alias = i + '/';
                              // console.log('alias:', alias)
                              if($1.indexOf(alias) > -1){
                                  var name = aliasObj[i] + '/';
                                  // console.log('name:', name);
                                  return replaceHandle($0, $1.replace(alias, name));
                              }
                          }
                          // 检查是否在module中
                          reqPath = modules[$1] || findInModulePackage(buildPath, modulesPath, $1);
                          // 模块库里面也没有
                          if (!reqPath) {
                              throw Error("error: can not find file(找不到文件) " + absReqPath);
                          }else{
                              reqPath = utils.toBasePath(reqPath, buildPath)
                              modules[$1] = reqPath;
                          }
                      }
                  }
  
                  var id = utils.convertID(reqPath);
  
                  if (!modules[id]) {
                      // 处理循环引用
                      modules[id] = flag;
                      gutil.log(gutil.colors.cyan("dependence(处理依赖): "), reqPath);
                      requireIterator(buildPath, reqPath, modules, moduleListObj);
                  }
                  
                  reqPath = utils.toBasePath(reqPath, buildPath);
  
                  return exportType === 'require' ? 'require("' + reqPath + '")' : 
                          'window.__MODULES["' + id + '"]' + (utils.inArray(path.extname(reqPath), ['.tpl', '.json']) ? '()': '');
              }