我正在使用FileCookieStore
,它需要一个cookiefile的路径,并且该文件已经创建。我想使用fs.writeFile
创建此文件(如果该文件尚不存在),但如果 存在则不要覆盖它。但是,在下面的实现中,它会覆盖cookiefile的内容,即使它存在,即使wx
-flag应该抛出错误而不覆盖文件(如果它已经存在)。
var cookiePath = "cookie.json"
fs.writeFile(cookiePath, null, { flags: 'wx' }, function (err) {
if (err) throw err;
});
var j = request.jar(new FileCookieStore(cookiePath));
request = request.defaults({ jar : j });
function login(callback) {
// puts data into j which automatically writes the content to cookiePath
}
我是否误解了writeFile
标志wx
的正确用法?如果我运行login()
,Cookie的内容会自动保存到cookie.json中,但如果我再次运行该文件而未调用login
,fs.writeFile
会清空该数据库。
答案 0 :(得分:0)
根据文档,writeFile方法的语法是fs.writeFile(file, data[, options], callback)
。
我可以看到你发送null代替要写入的数据。这可能是你的空cookie文件背后的原因。
答案 1 :(得分:-1)
你的代码应该是:
fs.writeFile(cookiePath,null,{ flag :'wx'},function(err)
:)