react-native无法加载静态图片的bug解决方案

react-native当加载本目录下的静态图片资源无效的解决办法:

到项目的/node_modules/react-native/Libraries/Image目录下

修改resolveAssetSource.js的getScaledAssetPath方法,原代码

function getScaledAssetPath(asset) {
  var scale = pickScale(asset.scales, PixelRatio.get());
  var scaleSuffix = scale === 1 ? '' : '@' + scale + 'x';
  var assetDir = getBasePath(asset);
  return assetDir + '/' + asset.name + scaleSuffix + '.' + asset.type;
}

 修改为:

function getScaledAssetPath(asset) {
  var scale = pickScale(asset.scales, PixelRatio.get());
  var scaleSuffix = scale === 1 ? '' : '@' + scale + 'x';
  var assetDir = getBasePath(asset);
  var imagePath = assetDir + '/' + asset.name + scaleSuffix + '.' + asset.type;
  if (imagePath[0] == "/" || imagePath[0] == "\\") {
      imagePath = imagePath.substr(1);
   }
   return imagePath;
}

 这样就临时解决了该问题,详情请见https://github.com/WoLfulus/react-native/commit/33e2d052b6e2e3e6b3595572abbc3cb9b66d5755

猜你喜欢

转载自zx10103326.iteye.com/blog/2278349