@Zect

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

VueでJSONファイルを上書き保存したい

Q&A

Closed

解決したいこと

VueつかってWebアプリを作ってます
Jsonファイル上にある要素の削除をしようとしたところ、
エラーが発生しました。
解決法を教えてください。

発生している問題・エラー

TypeError: fs.writeFileSync is not a function

キャプチャ.PNG

該当するソースコード

export default {
  ...
  methods: {
    saveFile: function () {
      console.info('jsonを上書きする')
      const masterJ = { a: ['aaa', 'bbb'], b: ['bbb', 'ccc'] }
      const data = JSON.stringify(masterJ)
      const fs = require('fs')
      fs.writeFileSync('myfile.json', data, 'utf-8')
    }
  }
}

自分で試したこと

ここに書いてあること(electronのやつ以外)を試しましたが、うまくいきませんでした。

解決

別ファイルに関数を用意し、それを発火させることで解決しました。
理由はよくわからない()

add.js
function adding (data) {
  fs.writeFileSync('./myfile.json', JSON.stringify(data, null, 2))
}

export default { adding }
main.js
import add from "./add.js"

export default {
  ...
  methods: {
    saveFile: function () {
      console.info('jsonを上書きする')
      const masterJ = { a: ['aaa', 'bbb'], b: ['bbb', 'ccc'] }
      const data = JSON.stringify(masterJ)
      add.adding(data)
    }
  }
}
0 likes

No Answers yet.

Your answer might help someone💌