Che*_*erd 0 json fs node.js electron electron-builder
我正在使用 Electron 构建应用程序,并且在登录后保存了一个配置文件。当应用程序在开发中重新打开时,它可以工作,但是当它与电子生成器分发后重新打开时,我必须再次登录。
代码
const {writeFile} = require('fs');
const {join} = require('path');
function write(config) {
writeFile(join(__dirname, './config.json'), JSON.stringify(config, null, 4), (err) => {
cb(err);
})
}
write(someJsonObject);
Run Code Online (Sandbox Code Playgroud)
项目:
Electron
1.7.11 Electron-builder 19.55.2
Node 8.8.1
小智 5
首先检查您没有为您的生产应用程序构建 asar 文件,因为它是只读的,并且您正在尝试直接写入 .asar 文件__dirname
。我的建议是为您的配置文件使用可写目录,例如:
const fs = require('fs');
const _HOME_ = require('os').homedir();
const _SEP_ = require('path').sep;
const _APPHOME_ = `${_HOME_}${_SEP_}.myapp${_SEP_}`;
if (!fs.existsSync(_APPHOME_)) {//Check dir exists or create it
fs.mkdir(_APPHOME_, '0777', true, function () {
console.log('Created app home dir :)');
});
}
fs.writeFile(_APPHOME_ + 'config.json'), JSON.stringify(config, null, 4), (err) => {
cb(err);
});
Run Code Online (Sandbox Code Playgroud)
当然,您可能希望根据您的需要调整此解决方案。希望对你有用!
归档时间: |
|
查看次数: |
1103 次 |
最近记录: |