【问题标题】:How to change the path in electron so it saves files to different directory not packed in app.asar file?如何更改电子中的路径,以便将文件保存到未打包在 app.asar 文件中的不同目录中?
【发布时间】:2020-07-24 17:05:09
【问题描述】:

我正在构建一个电子应用程序,它将在构建应用程序后保存文件,当我在 package.json 文件中设置 asar=true 时,它给了我错误 Enont 并且不保存任何东西,但什么时候我让它 asar=false 它工作并保存文件。我想让它 asar=true 并更改应该保存文件的目录.. 这是我的 index.js 文件


const fs = require('fs')
const path = require('path')

btnCreate = document.getElementById('btnCreate')
btnRead = document.getElementById('btnRead')
btnDelete = document.getElementById('btnDelete')
fileName = document.getElementById('fileName')
fileContents = document.getElementById('fileContents')

let pathName = path.join(__dirname, 'Files')


btnCreate.addEventListener('click', function(){

    let file     = path.join(pathName, fileName.value)
    let contents = fileContents.value
    fs.writeFile(file, contents, function(err){
        if(err){
            return console.log(err)
        }
        console.log("The File Was Created")

    })

})

我找到了这个答案: https://stackoverflow.com/a/42508682/9008535

但我对 Electron 很陌生,我不知道如何制作它?

【问题讨论】:

  • 你是在渲染进程还是主进程中运行上面的代码?
  • 我在 main 中运行这个
  • 试试这个 let homePath = app.getPath("home") ,顺便说一下 index.js 是 index.html 中导入的文件。所以这是在渲染器中运行的。 main.js 是主进程。在渲染器中导入应用程序const app = require('electron').remote.app
  • 感谢@namila007 .. 它现在可以工作了.. 但我希望它保存到项目的主文件夹中,如何编写路径以使其保存到主文件夹?
  • 任何更新@sami ?

标签: javascript node.js electron


【解决方案1】:

要获取安装路径,您可以在 main.js 中使用app.getAppPath()。但在生产中,这将返回您的 asar 路径

app.getAppPath() 返回字符串 - 当前应用程序目录。

在您的main.js 中,您可以使用以下代码写入您的安装文件夹;

const myInstalledDir = path.join(app.getAppPath(),"..",".."); // root installation path
const fs = require("fs")
const path = require("path")
//write something to root installation folder
fs.writeFileSync(path.join(myInstalledDir,"myfile.txt"),"sdfsdf")
//reading
console.log(fs.readFileSync(path.join(myInstalledDir,"myfile.txt")))

【讨论】:

    猜你喜欢
    • 2016-01-17
    • 1970-01-01
    • 2016-12-21
    • 2020-10-06
    • 2010-10-02
    • 1970-01-01
    • 1970-01-01
    • 2019-11-11
    • 2013-08-02
    相关资源
    最近更新 更多