【问题标题】:Unable to create new folder using Desktop App using Electron JS无法使用 Electron JS 使用桌面应用程序创建新文件夹
【发布时间】:2019-10-13 17:31:42
【问题描述】:

当我使用 Electron JS 在本地运行相同的代码时,它可以正常工作。

var dir = './test-new-folder'; // OR var dir = 'test-new-folder';

if (!fs.existsSync(dir)) {
   fs.mkdirSync(dir, '0777', true);
}

以上代码在我的本地运行正常,并在我的根文件夹中创建了一个名为“test-new-folder”的文件夹。

但是在 MAC 上创建它的桌面应用程序后,

  1. 为什么这段代码不起作用?为什么不创建“test-new-folder”?有什么办法可以解决这个问题?

  2. 我还想跟踪/获取将推送到这个新创建的文件夹中的所有数据!我可以得到这样的事件吗?或者对此有什么建议?

【问题讨论】:

  • 你不能使用./作为它相对于打包应用程序而不是你的cwd,而是使用getPath electronjs.org/docs/api/app#appgetpathname
  • 非常感谢您的建议!是的,正如你所说,没错!!!
  • @LawrenceCherone:你能告诉我是否有办法按照我提到的第二个问题进行跟踪!
  • 对于2.可以使用fs.readDir,stackoverflow.com/questions/2727167/…
  • 我的想法和我的 FS 一样。谢谢。

标签: javascript electron fs


【解决方案1】:

正如@lawrence Cherone 在 cmets 中所建议的,我遵循了这个:electronjs.org/docs/api/app#appgetpathname

我得到的解决方案如下,

var desktopPath = (electron.app || electron.remote.app).getPath('desktop');

var dir = desktopPath + '/test-new-folder';

if (!fs.existsSync(dir)) {
   fs.mkdirSync(dir, '0777', true);
}

【讨论】:

    猜你喜欢
    • 2019-12-14
    • 2020-06-18
    • 2021-05-09
    • 1970-01-01
    • 2016-06-06
    • 2012-12-16
    • 2014-12-10
    • 2020-04-24
    • 2015-08-24
    相关资源
    最近更新 更多