问题标签 [node-persist]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
462 浏览

node.js - 如何使用具有节点持久性的池?

是默认启用池化,还是必须手动启用?

有人可以提供一个database.json或类似的例子来说明如何启用/禁用池吗?

https://github.com/nearinfinity/node-persist#connectionPoolingUsing

0 投票
1 回答
1214 浏览

node.js - node-webkit windows 构建在哪里存储持久数据?

我正在使用 node-webkit 构建一个桌面应用程序。我已经使用 nw-builder 从我的 mac 构建 windows 32 和 windows 64 位。该程序在 Windows 中运行良好,只是我用来存储数据的文件在程序退出时消失了。

该应用程序被打包为 .pak 文件,我假设当程序关闭时,所有文件都将被删除。所以当我再次启动应用程序时,持久化的数据就消失了。

如何在 Windows 中为 node-webkit 保留数据?

我正在使用“node-persist”包来保持我的持久性。在 Mac 中,它在 .app 文件中创建一个名为“persist”的文件夹,并将文件写入可以正常工作的文件夹。

但是在 windows 中,由于 .pak 文件,当程序关闭时,持久化的文件会丢失。我该如何解决 ?有没有办法将文件存储在 .pak 之外。.pak 似乎被提取到一个临时位置。

更新(已解决)

我已经按照https://github.com/nwjs/nw.js/wiki/App中的描述使用了 App.dataPath

摘录:

在用户目录中获取应用程序的数据路径。视窗:%LOCALAPPDATA%/;Linux:~/.config/;OSX:~/Library/Application Support/ 清单中的字段在哪里。

PopcornTime在其 database.js 文件中也使用相同的方法。https://git.popcorntime.io/popcorntime/desktop/blob/master/src/app/database.js

0 投票
1 回答
474 浏览

node.js - 为什么 Storage.getItemSync() 不控制台记录实际值?

输出: 账户是[object Object],[object Object]

我如何获得实际的储值?

使用 node@5.4.1,node-persist@0.0.6

0 投票
1 回答
2679 浏览

node.js - 节点持久 - NodeJS

谁向我详细解释了如何使用以下指令:

我知道setitemSync()它用于在内存上创建一个新变量,并将一个 JSON 文档创建到“persist”文件夹中。

getItemSync("nameVariable")它用于获取我之前创建的变量setitemSync()。这是正确的?

因为 GitHub 中的文档不清楚。

感谢所有的莫里斯

0 投票
0 回答
606 浏览

node.js - Node-Persist getItem() / setItem() 进入同步功能失败

我有一个正在运行的应用程序,但在升级包后停止工作。节点持久问题。需要升级,所以请不要建议降级。:)

获取物品的原始工作版本:

我遵循了这个问题:node-persist - NodeJS 和 MDN:https ://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage以及 GitHub 中的文档:https:// github.com/simonlast/node-persist但仍然无法正常工作。

错误。主要调用:

使用函数 createAccount:

失败:

在这一行:

你能提供新版本吗storage.getItem()storage.setItem()

0 投票
2 回答
1322 浏览

javascript - 节点坚持重型 Node.js 应用程序不返回值

我有一个重型节点应用程序,我正在使用 node-persist 将数据保存到本地数据库。

在特定步骤上,我有这个:

这段代码在长函数中有点深。一切都非常简单。但是有两个问题:

  1. 更多时候,uidundefined。我的猜测是该文件尚未保存,因此当我尝试获取该文件时,它具有未定义的值。
  2. 即便如此if (uid == 'undefined')console.log(uid)还是丢了不少undefined。我不明白为什么,因为我正在“返回”。

代码真的就是这样。这if可能被称为每秒 15-20 次。没有其他代码可能会在控制台上抛出“未定义”,也没有任何写入数据库的代码。

为什么会这样?我该怎么做才能正确处理它?

编辑 1

第2点我想通了。我忘了放typeof

编辑 2

init按要求添加了。

如果我删除try...catch,我经常收到此错误:

所以,我的猜测是getItem试图读取一个setItem尚未完成写入的文件。