尝试访问 Electron/Node.js 中的父文件夹时出错

Error when trying to acces parent folder in Electron/Node.js

我正在尝试检查父目录中的路径是文件还是目录。

我的文件系统是这样的:

Electron是从files/的父目录启动的。 我在 index.js 文件中的代码:

console.log(`file://${__dirname}/../test/test.jpg`);
console.log(fs.lstatSync(`file://${__dirname}/../test/test.jpg`).isFile());

当我启动 Electron 时,我在日志中收到两条消息。第一个是我要访问的图片的路径(test.jpg)。当我将此路径粘贴到我的浏览器时,会显示图片,因此它是正确的路径。 但是第二条消息是错误的:

Uncaught Error: ENOENT: no such file or directory, lstat

然后相同的路径用单引号('')。

我曾经将 index.js 和 index.html 文件放在电子启动的相同路径中(文件的父文件夹/)并且它有效,所以我猜它有访问父文件夹时出现问题。 我该如何解决?

节点 fs 模块使用文件路径,而不是 URL,因此您需要将有效路径传递给 fs.lstatSync:

fs.lstatSync(`${__dirname}/../test/test.jpg`).isFile()