[英]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.