Reactjs 对象不支持属性或方法“readFile”(节点:fs)
TypeError:对象不支持属性或方法“readFile”Reactjs 对象不支持属性或方法“readFile”(节点:fs),reactjs,typescript,fs,Reactjs,Typescript,Fs,TypeError:对象不支持属性或方法“readFile” ReactComponent.prototype.test C:/Source/new-teste/src/ReactComponent.tsx:44 41 | 42 | private test() { 43 | > 44 | fs.readFile(this.jsonPath, function (err, buffer) { | ^ 我刚刚创建了一个全新的rea
ReactComponent.prototype.test
C:/Source/new-teste/src/ReactComponent.tsx:44
41 |
42 | private test() {
43 |
> 44 | fs.readFile(this.jsonPath, function (err, buffer) {
| ^
我刚刚创建了一个全新的react应用程序,但这正在发生。。。
我不知道我还能做什么
import * as React from "react";
import * as fs from "fs";
import * as zlib from 'zlib';
constructor(props: IReactComponentProps, state: IReactComponentState) {
super(props, state);
this.jsonPath = "/myfolder/mygzipedjsonfile.json.gz";
this.state = {
loading: true,
error: false,
};
this.test();
}
private test() {
fs.readFile(this.jsonPath, function (err, buffer) {
console.log('success');
});
}
错误:TypeError:对象不支持属性或方法“readFile”
ReactComponent.prototype.test
C:/Source/new-teste/src/ReactComponent.tsx:44
41 |
42 | private test() {
43 |
> 44 | fs.readFile(this.jsonPath, function (err, buffer) {
| ^
不能在客户端使用fs。它不会在浏览器中工作,从而保护您的文件系统免受潜在的安全威胁,fs是一个特定于OS Node.js的低级软件包。根据经验,我所有的文件处理都是在服务器端完成的,所以我使用node.js。我可以建议哪个是客户端javascript的zlib端口,并使用or函数解压缩json文件。解压缩后,您只需将生成的文件导入代码,如下所示:
import jsonFile from 'resultingFile.json'
您应该使用元素并让用户选择文件。浏览器中的Javascript无法在没有用户许可的情况下选择文件。这是有道理的,但我在互联网上找到的每个示例都会这样做。。。我打算把“fs”改为“fetch”,我想这才是我真正需要的。我只需要从我的公用文件夹中获取一个文件.json.gzip并读取它。有什么建议吗?谢谢你的回答!不用担心,根据我的经验,我所有的文件处理都是在服务器端完成的,所以我使用node.js。我可以建议哪个是客户端javascript的zlib端口,并使用该函数解压缩json文件。解压后,您只需将结果文件导入代码,如下所示:从'resultingFile.json'导入jsonFile似乎我为ungzip函数链接了错误的文档。或者你也可以使用Hi@JKleinne,我正在使用pako,就像你建议的那样,来膨胀文件,http.get从服务器公共文件夹获取文件。现在一切都很好。谢谢你的帮助,你真是太好了。嘿@GabrielMarcondes,不用担心,很高兴你一切顺利!