gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 21:08:15 27 4
gpt4 key购买 nike

我正在构建一个 Electron 应用程序,它将在构建应用程序后保存文件,当我在 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.js 中使用 app.getAppPath() 。但在生产中这将返回您的 asar 路径

app.getAppPath() Returns String - The current application directory.

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

关于javascript - 如何更改 Electron 中的路径,以便将文件保存到未打包在 app.asar 文件中的不同目录中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61165863/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com