繁体   English   中英

如何更改 electron 中的路径,以便将文件保存到未打包在 app.asar 文件中的不同目录?

[英]How to change the path in electron so it saves files to different directory not packed in app.asar file?

我正在构建一个 electron 应用程序,该应用程序将在构建应用程序后保存文件,当我在 package.json 文件中设置asar=true时,它给了我错误,当我保存但它工作时,它给了我错误文件。 我想让它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.js 中使用app.getAppPath() 但在生产中,这将返回您的asar路径

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

在您的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")))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM