PapaParse 脚本路径未定义

PapaParse Script Path is Undefined

我一直在寻找解决这个问题的方法,但我一辈子都想不出来...

问题:我有一个延迟加载的 React 组件,它应该解析 CSV 文件(使用 PapaParse),该文件全部构建在 create-react-app 框架内。但出于某种原因,尽管一切都说它应该有效,但当我尝试使用 PapaParse 时,我收到此错误:

Error: Script path cannot be determined automatically when Papa Parse is loaded asynchronously. You need to set Papa.SCRIPT_PATH manually.

但是因为它与 Webpack 捆绑在一起,我不知道这个脚本路径应该是什么,我已经尝试将路径设置为项目文件夹结构中的 PapaParse 文件夹(即一些东西像 ../../node_modules/papaparse) 无济于事。当我输入路径时,我实际上得到了一个不同的错误:

papaparse?papaworker:1 Uncaught SyntaxError: Unexpected token <

有关更多上下文,有问题的组件看起来有点像这样:

import Papa from 'papaparse';

class Dialog extends React.Component {
    ...
    handleFileChange = () => {
       ...
       Papa.parse(file, config);
       ...
    }
    ...
}

我是通过npm安装的PapaParse,所以应该是最新的版本,有些东西可以追溯到2014-15年就存在这些问题,不过据说已经更新了...

实际上,我很困惑,因为它在我的两个项目中都运行良好,因此,React Web 应用程序和 React Native iOS、Android 应用程序。

我是这样导入的:

import Papa from 'papaparse/papaparse.min';

当然,对于每个项目,都有一些配置可能某些库运行不佳。但您也许可以使用 Node.js pathPapa:

设置 SCRIPT_PATH
import path from 'path';

...
Papa.SCRIPT_PATH = path.resolve('/node_modules/papaparse');
...

或者如果它也有问题,则使用 答案直接在您的代码中使用 papaparse。不推荐。