【问题标题】:In Electron app how do you reference the temp path?在 Electron 应用程序中,您如何引用临时路径?
【发布时间】:2019-03-05 14:34:24
【问题描述】:

学习 Electron 我想在drag and drop 之后做一些文件处理。在 Mac 上,tmp 的等价物是$TMPDIR。参考 app 的 API 文档,我能够找到 app.getAppPath(),它显示了我从 main.js 的简单控制台日志中获取的路径。在app.getAppPath() 下面有getPath() 但是当我尝试app.getPath(temp) 时:

let foobar = app.getAppPath("temp")
console.log(foobar)

我在以下控制台中收到错误:

ReferenceError: temp 未定义

通过我的研究,我读到了:

在 Electron 中是否有一个内置的临时目录可以在所有操作系统上运行,或者有一个 process 可以参考?

注意:

即使在引用了以下字符串之后:

console.log(`The temp path is: ${app.getAppPath("temp")}`)

它返回与以下相同的响应:

console.log(`The AppPath is: ${app.getAppPath()}`)

这是:

The temp path is: /Users/Grim/Documents/GitHub/electron-quick-start-boilerplate
The AppPath is: /Users/Grim/Documents/GitHub/electron-quick-start-boilerplate

上面的console.log测试已经添加在letWindow之后。

【问题讨论】:

    标签: node.js electron temporary-files tmp


    【解决方案1】:

    app.getAppPath() 不接受参数。

    对于app.getPath(name),参数应该是字符串 "temp": app.getPath("temp")

    【讨论】:

    • 那么为什么console.log(`The temp path is: ${app.getAppPath("temp")}`) 添加到main.js 时返回的信息与app.getAppPath() 相同?
    • 我猜getAppPath 没有使用您可能提供给它的任何参数,因为它的文档说它不需要任何参数。 getAppPath() 将返回与getAppPath('temp') 相同、与getAppPath({something: 'useless'}) 相同、与getAppPath(thisVariableCanHoldAnything) 相同的返回值。
    • 我对@9​​87654332@ 的文档感到有些困惑,我期待与$TMPDIR$USER 相同的行为
    • 你需要的方法是getPath不是 getAppPath。然后你传递你想要的名字,在你的情况下它是"temp"(作为一个字符串):console.log("tmp path is:", app.getPath("temp"))
    • 啊废话,你是对的。咖啡前不应该编码。 +1 并接受。我知道我现在做错了什么。
    猜你喜欢
    • 2017-03-31
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-28
    • 2011-03-12
    • 1970-01-01
    相关资源
    最近更新 更多