在Create React App中导入.csv文件时出现“找不到模块”

蚁鱼

我正在尝试导入CSV以便与D3库一起使用,以在Create React App项目中创建图表,但是即使CSV文件的路径正确,导入文件也会引发“找不到模块”错误。

我觉得这可能与CRA的Webpack配置有关,但看起来这是使用文件加载器,所以我不确定问题出在哪里。数据文件位于CRA的src目录中。

下面代码中的控制台日志正在运行,其中包含正确的数据,这意味着必须访问数据。此后引发错误(尽管在我的编辑器中CSV的路径用红色下划线标出)。

我正在使用TypeScript,但我认为这与问题无关。

import React from 'react';
import * as d3 from 'd3';
import CSVData from '../data/data.csv';

const BarChart: React.FC = () => {
  d3.csv(CSVData).then(res => {
    console.log(res);
  });
  return <div>Test</div>;
};

export default BarChart;
蚁鱼

感谢Nick Ribal的回答,我找到了一种类似的解决方案,方法是将数据文件移到公用文件夹中,然后通过PUBLIC_URL环境变量进行引用。

我使用了D3 CSV方法,该方法将通过URL获得数据,而不是使用提取并将其解析为文本。

使用D3 CSV方法:

import React, { useState } from 'react';
import { DSVRowArray } from 'd3';
import * as d3 from 'd3';

type CSVData = DSVRowArray | null;

const BarChart: React.FC = () => {
  const initialState: CSVData = null;
  const [fetchedCSVData, setFetchedCSVdata] = useState<CSVData>(initialState);

  if (!fetchedCSVData) {
    d3.csv(`${process.env.PUBLIC_URL}/data/data.csv`).then(res => {
      setFetchedCSVdata(res);
    });
  }
  return <div>Test</div>;
};

export default BarChart;

没有D3 CSV方法:

import React, { useState } from 'react';

type CSVData = string | null;

const BarChart: React.FC = () => {
  const initialState: CSVData = null;
  const [fetchedCSVData, setFetchedCSVData] = useState<CSVData>(initialState);

  if (!fetchedCSVData) {
    fetch(`${process.env.PUBLIC_URL}/data/data.csv`)
      .then(res => res.text())
      .then(stringData => {
        console.log(stringData);
        setFetchedCSVData(stringData);
      });
  }

  return <div>Test</div>;
};

export default BarChart;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在React中导入多个文件

在同构React组件中导入CSS文件

在React中导入JSON文件

在TypeScript React中导入图像-“找不到模块”

在create-react-app中测试时出现“意外的令牌导入”

使用Moment JS的Create-React-App:找不到模块“ ./locale”

在create-react-app +打字稿中导入静态JSON

无法在React中导入Sass文件

有效地在create-react-app中导入多个类似的svg源?

导入graphql文件时清理Create React App的缓存

如何在用create-react-app创建的文件中导入Emscripten生成的.wasm / js文件

无法在React组件中导入节点模块

如何在React中导入json文件

在Create React App中导入文件中的NodeJ

将模块导入新的create-react-app项目时,Babel / JSX Transpiler生成时出错

在React中导入文件的不同方法

在React组件中导入分割的CSS文件

尝试导入npm时出错,进入create-react-app

在React中导入js对象时的内存

如何使用Create React App在React中导入图像(SVG或PNG)

是否可以在react app中导入第三方js文件?

无法在React Native中导入.js文件

在 React 项目中导入 Unity 文件

如何在我的 Typescript Create React App 项目中导入伪造 sha256 哈希函数?

有没有办法在没有 create-react-app 的情况下在 React 中导入模块?

在 TypeScript 中导入远程 JSON 文件时出现“找不到模块”错误

为什么 create react app 不导入 css 文件?

在 App.js React 开发中导入外部 Js 时出现问题

如何在 crete-react-app 中导入 src 之外的文件