如何使用电子应用程序检查文件本地是否存在

ss_*_*hes 3 javascript bash exec electron

我想看看本地是否存在一个文件,如下所示:

if (exec(`-f ~/.config/myApp/bookmarks.json`)) {
  console.log('exists')
} else {
  console.log('does not')
}
Run Code Online (Sandbox Code Playgroud)

但是,无论文件是否存在,我都会在控制台中得到存在

dot*_*nor 9

您应该将该fs模块导入到您的代码中。如果您正在main进程上运行,则执行一个简单的操作const fs = require('fs');,但如果您正在渲染器进程上运行,则执行const fs = require('electron').remote.require('fs')

然后使用该fs模块,您可以在文件上运行一个简单的存在方法:

if (fs.existsSync(`~/.config/myApp/bookmarks.json`)) {
  console.log('exists')
} else {
  console.log('does not')
}
Run Code Online (Sandbox Code Playgroud)

尽管你确实应该异步检查这一点:

fs.access(`~/.config/myApp/bookmarks.json`, (err) => {
  if (err) {
      console.log('does not exist')
    } else {
      console.log('exists')
    }
})
Run Code Online (Sandbox Code Playgroud)