3

我正在尝试gun.js我已经将它安装为 node.js 项目,我已经通过 dotenv 配置了亚马逊 S3 存储桶,我尝试添加一个 data.json 文件,但我仍然无法获取 gun.js 来保存本地文件或 S3 存储桶。

我知道枪支的早期阶段,但我觉得我错过了一些明显的东西。

我期望在他的本地文件系统和/或 S3 存储桶中找到一个 .json 文件,但我都没有。

require('dotenv').config();
var Gun = require('gun');
var gun = Gun({
    file: 'data.json', // local testing and development
    s3: {        
     key: process.env.AWS_KEY, // AWS Access Key
     secret: process.env.AWS_SECRET, // AWS Secret Token
     bucket: process.env.AWS_BUCKET // The bucket you want to save into
    }
});

gun.put({ hello: 'world' }).key('my/first/data');
4

2 回答 2

3
于 2016-02-25T08:14:36.313 回答
2

我认为 Mark 会更正式地回答这个问题,但快速的答案是 gun.js 0.3(当前)有一个单一的 gun 服务器对等点或存储目标,并且当您将 gun 作为服务器运行时(例如从 node.js而不是浏览器),如果指定了 S3 凭据,则首选 S3。但是 gun 还将您的数据更改保存在浏览器内存或 localStorage(浏览器限制为 5MB)中,并且 S3 可以提供更永久的存储。

因此,在上面的示例中,我认为问题在于,只有在将更改保存到 S3 时出现问题时才会使用文件条目,这就是您看不到新数据的原因。也许尝试在 S3 凭据中添加一个错误(例如,现在添加一个“x”)并查看它是否开始使用文件路径。

在 gun.js 0.4 中,计划使用构造函数中指定的所有对等点或动态使用,但该功能还没有出现。

(而且我可能扼杀了这个答案,但希望马克能纠正这方面的任何不准确之处。我是 gun.js 的新手,但有同样的问题。)

于 2016-02-25T00:16:00.463 回答