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