Uncaught TypeError: fs.writeFile is not a function

在浏览器环境中,JavaScript无法直接使用fs模块读写文件。为了处理JSON数据,可以使用XMLHttpRequest或fetchAPI来请求静态JSON文件,或者借助后端服务器处理动态读写请求,通过ajax或axios进行通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我原本想在vue中实现往 JSON 文件中写入一些内容,浏览器报错为题目

<script>
import view_lists from 'view_image.json'
const { writeFile } = require('fs')
const path = require('path');
const filePath = path.resolve(__dirname, 'tem_img.json');

export default {
  name:'viewImage',
  data() {
    return {
      loading: true,
      lists:[],
      tem_view: [],
    }
  },
  mounted() {
    this.loading = false
    this.lists = view_lists.view_list
  },
  methods: {
    setLoading() {
      this.loading = true
      setTimeout(() => (this.loading = false), 2000)
    },

    addImgUrl(imgUrl) {
      console.log(item) // 添加这一行以检查item是否已定义
      this.tem_view.push({ imgUrl })
      writeFile(filePath, JSON.stringify({ tem_view: this.tem_view }), (err) => {
        if (err) {
          console.log(err) // 添加这一行以检查是否有错误
          throw err
        }
        console.log('The file has been saved!')
      })
    },

    removeImgUrl() {
      this.tem_view.pop()
      writeFile(filePath, JSON.stringify({ tem_view: this.tem_view }), (err) => {
        if (err) {
          console.log(err) // 添加这一行以检查是否有错误
          throw err
        }
        console.log('The file has been saved!')
      })
    },
  },
}
</script>

实际上在浏览器环境下,JavaScript并没有直接操作文件系统的能力,因此不能使用Node.js提供的fs模块中的方法,如writeFile等。如果要读取或写入JSON数据,可以使用浏览器提供的Web API。

  • 如果json文件是静态的,你可以使用XMLHttpRequest或fetch来请求json文件,并使用JSON.parse来解析返回的数据。1
  • 如果json文件是动态的,你可以使用一个后端服务器来处理读写json文件的请求,并使用ajax或axios来与后端通信。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值