docs: function modInitFactoryInvoker( id ) {
          var module = modModules[ id ];
          var invoking;
  
          module.invokeFactory = invokeFactory;
          each( module.depPMs, function ( pluginModuleId ) {
              modAddDefinedListener( pluginModuleId, function () {
                  each( module.depRs, function ( res ) {
                      if ( !res.absId && res.module === pluginModuleId ) {
                          res.absId = normalize( res.id, id );
                          nativeRequire( [ res.absId ], modAutoInvoke );
                      }
                  } );
              } );
          } );
  
          /**
           * 初始化模块
           *
           * @inner
           */
          function invokeFactory() {
              if ( invoking || module.state !== MODULE_PREPARED ) {
                  return;
              }
  
              invoking = 1;
  
              // 拼接factory invoke所需的arguments
              var factoryReady = 1;
              var factoryDeps = [];
              each(
                  module.factoryDeps,
                  function ( dep ) {
                      var depId = dep.absId;
  
                      if ( !BUILDIN_MODULE[ depId ] ) {
                          modTryInvokeFactory( depId );
                          if ( !modIs( depId, MODULE_DEFINED ) ) {
                              factoryReady = 0;
                              return false;
                          }
                      }
  
                      factoryDeps.push( depId );
                  }
              );
  
              if ( factoryReady ) {
                  try {
                      var args = modGetModulesExports(
                          factoryDeps,
                          {
                              require : module.require,
                              exports : module.exports,
                              module  : module
                          }
                      );
  
                      // 调用factory函数初始化module
                      var factory = module.factory;
                      var exports = typeof factory === 'function'
                          ? factory.apply( global, args )
                          : factory;
  
                      if ( exports != null ) {
                          module.exports = exports;
                      }
  
                      module.invokeFactory = null;
                  }
                  catch ( ex ) {
                      invoking = 0;
                      if ( /^\[MODULE_MISS\]"([^"]+)/.test( ex.message ) ) {
                          // 出错，则说明在factory的运行中，该require的模块是需要的
                          // 所以把它加入强依赖中
                          var hardCirclurDep = module.depMkv[ RegExp.$1 ];
                          hardCirclurDep && (hardCirclurDep.hard = 1);
                          return;
                      }
  
                      throw ex;
                  }
  
                  // 完成define
                  // 不放在try里，避免后续的运行错误被这里吞掉
                  modDefined( id );
              }
          }
      }