code: function invokeFactory() {
              if ( module.state >= MODULE_DEFINED ) {
                  return;
              }
  
              // 先尝试完成循环依赖模块的定义
              var invokeReadyState = checkInvokeReadyState();
              if ( invokeReadyState >= DEP_ANALYZED ) {
                  tryCircularDependencies();
              }
  
              if ( invokeReadyState < DEP_READY ) {
                  return;
              }
  
              // 拼接factory invoke所需的arguments
              var factoryDeps = [];
              each( module.factoryDeps, function ( dep ) {
                  factoryDeps.push( dep.absId );
              } );
              var args = modGetModulesExports(
                  factoryDeps,
                  {
                      require : module.require,
                      exports : module.exports,
                      module  : module
                  }
              );
  
              // 调用factory函数初始化module
              try {
                  var factory = module.factory;
                  var exports = typeof factory === 'function'
                      ? factory.apply( global, args )
                      : factory;
  
                  if ( exports != null ) {
                      module.exports = exports;
                  }
              }
              catch ( ex ) {
                  if ( /^\[MODULE_MISS\]"([^"]+)/.test( ex.message ) ) {
                      // 出错，则说明在factory的运行中，该require的模块是需要的
                      // 所以把它加入强依赖中
                      var hardCirclurDep = module.depMsIndex[ RegExp.$1 ];
                      hardCirclurDep && (hardCirclurDep.hard = 1);
                      return;
                  }
  
                  throw ex;
              }
  
              // 只把factory call代码放在try里
              // 避免后续操作因为try而吞掉错误
              module.state = MODULE_DEFINED;
              module.invokeFactory = null;
              modFireDefined( id );
          }
docs: 初始化模块
  
  @ignore