我的问题:
- 我有一个 zip 文件,其中包含我公司设备的固件更新
- 我希望能够使用 react-native-fs 和下面的代码访问它
.
export function readAssetFile(name) {
if(Platform.OS === 'ios') {
return RNFS.readFile(`${RNFS.MainBundlePath}/assets/data/${name}`);
} else {
return RNFS.readFileAssets(`raw/${name}`, 'base64');
}
}
我的项目结构如下:
ProjectDir
android
data
image1.png
image2.png
firmwarefile.zip
ios
android 分支工作,因为我在我的 .gradle 中添加了一个构建步骤,将 firmwarefile.zip 复制到 ProjectDir/android/app/src/main/assets/raw 中。所以我可以调用 readAssetFile('firmwarefile.zip'),它会返回数据。
在 iOS 上,所有图像文件(Image1.png、Image2.png)都包含在 MyProject.app/assets/data/ 中,我无需执行任何操作,但它们旁边的 zip 文件却没有。
查看实际的打包程序代码(来自Metro项目),似乎(基于 Metro/src/defaults.js)打包程序默认不包含 zip 文件,但可以将打包程序配置为包含其他文件类型. 但是我找不到任何关于如何进行配置的文档。
抱歉,这是一个非常简单的问题,但我一直在尝试将这个 zip 包含在我的捆绑包中大约 4 个小时。我正在求助于手动输入console.logs 和error-throws 来跟踪metro 内的东西,以尝试找到我应该在我的配置中发送的位置。
版本:React-native:0.55.3 Metro:0.30.2