code: function(file) {
          this.number++;
  
          var resource;
          var adapter = this.adapter;
          var resourceCache = adapter.resourceCache;
          var that = this;
  
          // ignore > map > normalize
          if (adapter.resourceIgnore(file)) {
              return Promise.resolve('');
          }
          file = adapter.resourceMap(file);
          file = this.normalize(file);
  
          if (this.number > this.adapter.resourceMaxNumber) {
              var errors = new Error('Exceed the maximum load limit on the number of resources');
              errors = new Resource.Error(errors, file);
              return Promise.reject(errors);
          }
  
          adapter.resourceBeforeLoad(file);
  
          if (resourceCache && this.cache[file]) {
              resource = this.cache[file];
              if (resource) {
                  return resource;
              }
          }
  
  
          resource = new Promise(function(resolve, reject) {
  
              if (that.isRemoteFile(file)) {
                  that.loadRemoteFile(file, onload);
              } else {
                  that.loadLocalFile(file, onload);
              }
  
              function onload(errors, data) {
                  if (errors) {
                      errors = new Resource.Error(errors, file);
                      reject(errors);
                  } else {
                      resolve(data.toString());
                  }
              }
  
          });
  
  
          if (resourceCache) {
              this.cache[file] = resource;
          }
  
          return resource;
      }
docs: 加载本地或远程资源
  @param   {String}    路径
  @return  {Promise}