docs: function createPackItem(options, context) {
      var packTarget = createPackTargetFile(options, context);
      if (packTarget.referPkg) {
          // 按页面合并时候，可能存在同样的异步模块要合并
          var packItem = context.findPackItemById(packTarget.referPkg);
          var preLoadPages = getPreLoadPage(options, context) || [];
          packItem.load = util.union(preLoadPages, packItem.load || []);
          return;
      }
  
      // 初始化要合并的文件
      var toMergeFiles = options.rawCombines || [];
      if (packTarget.useExistedPack && toMergeFiles.indexOf(packTarget) === -1) {
          toMergeFiles.push(packTarget);
          options.rawCombines = toMergeFiles;
      }
  
      var includeFiles = options.files || [];
      var ignoreFiles = [];
      var depPackIds = [];
      includeFiles = includeFiles.map(function (item) {
          if (_.isString(item)) {
              var isNegative = /^!/.test(item);
              if (isNegative) {
                  item = item.substr(1);
              }
  
              if (PKG_REGEXP.test(item)) {
                  var packId = RegExp.$1;
                  depPackIds.indexOf(packId) === -1 && depPackIds.push(packId);
                  item = function (subpath) {
                      return context.isInPkg(subpath, packId);
                  };
              }
              else {
                  item = _.glob(item);
              }
          }
  
          isNegative && ignoreFiles.push(item);
          return isNegative ? null : item;
      }).filter(function (item) {
          return item;
      });
  
      if (!toMergeFiles.length && !includeFiles.length) {
          return;
      }
  
      options.depPackIds = depPackIds;
      options.includeFiles = includeFiles;
      options.ignoreFiles = ignoreFiles;
      options.packTarget = packTarget;
      options.load = getPreLoadPage(options, context);
  
      return options;
  }