React Native'要求'疑难杂症?适用于本地映像文件,但不适用于同一目录中的csv文件

时间:2018-02-15 05:04:03

标签: javascript reactjs react-native

这里的React Native新手。

在我的组件内部(在App.js文件中),我使用require( )声明变量并将其设置为本地CSV文件。

此错误--->

componentWillMount() {
  var csvFilePath = require('./assets/imagesdata.csv');

但是,当我将其设置为我想要的CSV时,它会给我一个错误:

Unable to resolve ./assets/imagesdata.csv" from ".//App.js`: The module `./assets/imagesdata.csv` could not be found"

奇怪的是:如果我只是将同一目录中的另一个文件的CSV文件分出来,让我们使用.png图像文件,它可以正常工作而没有错误 - 是什么给出的?

没有错误(在SAME子目录中的.png文件中作为.csv文件无法工作) - >

componentWillMount() {
  var csvFilePath = require('./assets/locationlogo.png');

是否有特定于CSV导入的语法,我在React中不熟悉?

以下是我的目录的样子,以便您可以看到有问题的CSV文件(imagesdata.csv)实际上与assets/完全相同的.png文件工作(locationlogo)上面那个例子中的.png。)

enter image description here

谢谢!

仅供参考:我已经用Google搜索并尝试了此处提出的解决方案(可能不适用于我的情况,但我非常绝望:https://github.com/oblador/react-native-vector-icons/issues/626

这建议在构建打包程序之前运行rm ./node_modules/react-native/local-cli/core/__fixtures__/files/package.json,但我这样做了,但仍然没有解决我的奇怪错误。)

1 个答案:

答案 0 :(得分:0)

另一个React Native新手在这里,但我知道你面临的问题。

React Native允许您读取图像,JSON文件和其他一些内容,但不能读取CSV文件。要加载此CSV文件,您需要访问正在使用的平台(Android / iOS)的FS。

实现此目的的一种方法是使用react-native-fs。要加载CSV文件,我们可以使用以下代码:

var RNFS = require('react-native-fs');

RNFS.readFile("imagesdata.csv")
  .then((result) => {
    console.log('file contents', result);
  })
  .catch((err) => {
    console.log(err.message, err.code);
  });
  

要使用的路径与文件所在的位置不同。请参阅react-native-fs文档以获取更多信息。