var jf = require('jsonfile');
jf.writeFile("./setting.json", newSettings, function(err) {
if (err){
console.log("writing file err: ", err);
} else {
console.log("setting saved successfully.");
}
});
以上代码在开发(npm开始)和分发(zip到app.nw并将其放在node-webkit.app Resources目录中)成功报告,但只有开发中的文件发生了变化。我不知道为什么。 尝试过utf8和base64编码,两者都是一样的。
或者有办法解决这个问题吗?就像把setting.json文件放在其他地方一样?
答案 0 :(得分:0)
您要查找的文件位于本地临时文件夹中。例如:“C:/ Users / [YourUserName] / AppData / Local / Temp / [node_webkit_uniqueid]”/。您的设置json文件应位于/ Local / Temp /文件夹中。
获取生产环境的执行目录。尝试:
var live_path = require('path');
var execPath = live_path.dirname( process.execPath );
要区分生产环境和开发环境,可以在package.json文件中设置环境变量。
"scripts": {
"start": "set NODE_ENV=development && nw"
}
在您的代码中,您可以像这样检索环境变量。
var env = process.env.NODE_ENV || 'production';
if (env === 'production') {
//production settings
} else {
//development settings
}