code: function pullDefineDeps(options, reg, contents, modData) {
      var deps = [],
          origId, depPathResult;
      // var base = options.base || path.resolve(modData.path, '..');
      reg.lastIndex = 0;
      // 删除代码注释
      contents = deleteCodeComments(contents);
      contents.replace(reg, function (m, m1, m2) {
          if (m2) {
              var m2len = m2.length;
              if (m2.charAt(m2len - 1) === ',') m2 = m2.slice(0, m2len - 1);
          }
          try {
              m2 = eval(m2);
          } catch (err) {
              m2 = '';
              var filePath = modData ? modData.path : '';
              var code = m;
              code = m.replace(/[\r\n]*/g, '');
              console.log(chalk.yellow(`${PLUGIN_NAME} warning:`), chalk.gray(err.message));
              console.log(chalk.yellow('                   file path:'), chalk.gray(filePath));
              console.log(chalk.yellow('                   code snippet:'), chalk.gray(code));
          }
          if (m2) {
              if (Array.isArray(m2)) {
                  for (var i = 0; i < m2.length; i++) {
                      origId = m2[i];
                      if (origId && origId.slice(0, 4) !== 'http' && origId.slice(0, 2) !== '//') {
                          depPathResult = modPathResolve(options, origId);
                          deps.unshift({
                              id: depPathResult.id,
                              origId: depPathResult.path,
                              extName: depPathResult.extName
                          });
                      }
                  }
              }
          }
      });
      return deps;
  }
docs: /*
  从define头部提取依赖模块
  param { Object } 配置参数
  param { RegExp } 提取正则
  param { Object } 文件内容
  param { Object } 标识异步 异步作为下次处理主入口模块 需要标识id
  return { Array } 依赖模块列表