code: function loadModule( moduleId ) {
          if ( loadingModules[ moduleId ] || modModules[ moduleId ] ) {
              return;
          }
  
          loadingModules[ moduleId ] = 1;
  
          // 创建script标签
          //
          // 这里不挂接onerror的错误处理
          // 因为高级浏览器在devtool的console面板会报错
          // 再throw一个Error多此一举了
          var script = document.createElement( 'script' );
          script.setAttribute( 'data-require-id', moduleId );
          script.src = toUrl( moduleId + '.js' ) ;
          script.async = true;
          if ( script.readyState ) {
              script.onreadystatechange = loadedListener;
          }
          else {
              script.onload = loadedListener;
          }
          appendScript( script );
  
          /**
           * script标签加载完成的事件处理函数
           *
           * @ignore
           */
          function loadedListener() {
              var readyState = script.readyState;
              if (
                  typeof readyState === 'undefined'
                  || /^(loaded|complete)$/.test( readyState )
              ) {
                  script.onload = script.onreadystatechange = null;
                  script = null;
  
                  completePreDefine( moduleId );
              }
          }
      }
docs: 加载模块
  
  @ignore
  @param {string} moduleId 模块标识