fs.writeFile 不适用于我的 ReactJs/NodeJs 应用程序

IT技术 node.js reactjs
2021-04-10 03:25:19

我正在尝试使用 reactJS 和 nodeJs 在文件中编写一些东西,但它不起作用。这是我的代码,是一个简单的代码,我知道 fs.writeFile 不是一个函数。对于我从 fs 使用的每个函数,我都会收到此错误。在 node_module 中,我有 fs 的文件夹,但在里面我只有 package.json 和自述文件。我不知道该怎么办,我在网上搜索了答案,但一无所获。任何帮助都是极好的

import React, { Component } from 'react'

const fs = require('fs');

export default class WriteFile extends Component {

write = () => {
    fs.writeFile("file.txt", "Hey there!", function(err) {
        if(err) {
            return console.log(err);
        }

        console.log("The file was saved!");
    }); 
}

render() {
    return (
    <div>
        <button className='btn btn-info' onClick={this.write}>scria-ti-as</button>
    </div>
    )
 }
}

和错误

TypeError: fs.writeFile is not a function

WriteFile._this.write

D:/js/login_reactjs/src/components/WriteFile.js:8

5 | export default class WriteFile extends Component {

6 | 

7 |     write = () => {

8 |         fs.writeFile("file.txt", "Hey there!", function(err) {

9 |             if(err) {

10 |                 return console.log(err);

11 |             }
2个回答

fs 在浏览器中不起作用。这是设计使然。fs 已被淘汰 看到这张票

你将不得不使用包更好的运气是支持浏览器,如browserifybrowserFS

@ Horatiu123456 使用 browserify 或一些类似的包。
2021-05-29 03:25:19
@Horatiu123456 查看这张
2021-06-12 03:25:19
如果我必须使用一些使用文件系统的外部函数怎么办?
2021-06-18 03:25:19

在浏览器中,您应该使用 File API 访问文件 - https://www.html5rocks.com/en/tutorials/file/dndfiles/

另请查看https://electronjs.org/它允许您在“本机”式react应用程序中使用像 fs 这样的 nodejs API。