Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 对象不支持属性或方法“readFile”(节点:fs)_Reactjs_Typescript_Fs - Fatal编程技术网

Reactjs 对象不支持属性或方法“readFile”(节点:fs)

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

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) {
     |        ^
我刚刚创建了一个全新的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,不用担心,很高兴你一切顺利!