问题标签 [dat-project]

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 回答
2687 浏览

javascript - 是否可以在 React Native 中填充 Node 的 fs.readFileSync()?

我想将一些为 NodeJS 编写的包移植到 React Native。

为此,我使用流行的 Ignite 样板创建了一个 RN 项目,然后使用了ReactNativify方法和 shim Node API 对象,主要重用了现有的browserify shims

(有关详细信息和一些有用的提示,请参阅我们可以在 react native 应用程序中使用 nodejs 代码吗?

一些 Node 对象在转译后仍然被空的 mock 替换,例如fs. 完成.babelrc如下:

fs.readFileSync要移植的包在其传递依赖项中包含许多调用。

例如,在其中一个中hypercore-protocol,有这行代码:

而且这里有个问题,因为Android和iOS不支持同步文件传输。un-shim-able那条线对我来说似乎是

现在,虽然存在用于fs: react-native-level-fs的垫片,但它没有实现同步文件系统方法。

然后是 browserify 转换,例如brfs' browserify fs.readFileSync() 静态资产内联器'(及其替代方案bfrs-babelbabel-plugin-static-fs)。

但我不知道如何将它们包括在内,它们是否甚至可以在 RN 中工作?

所以我看到了四种方法:

  1. 找到一种方法来合并react-native-level-fsbrfs成为可用的垫片替代品
  2. 编写一个全新的fsshim,包含所有方法
  3. 如果同步 fs 不可能(我认为是),那么以某种方式覆盖调用同步方法的传递依赖树中所有出现的函数,并用本地代码库中的 js 片段替换它们
  4. 如果 3. 出现的次数过多,则决定包不能移植到 React Native

我希望 1. 或者 3. 成为可行的解决方案。任何人都可以建议吗?

为了完整起见。我正处于人生的这个阶段:

0 投票
1 回答
321 浏览

webrtc - 带有 webrtc 和 signalhub 的浏览器中 dat 项目的 hyperdb 问题

我正在尝试通过 webrtc 和 signalhub 在浏览器中使用 hyperdb。代码非常严格,但是 hyperdb 复制存在一些问题,由于 hypercore 中的 sameKey 检查而导致连接被终止。所以,我在想......我没有正确地处理我的发现键和 id 键,所以对等方知道他们应该同步。这是一些示例代码,它有点乱,但相关位是 hyperdb 初始化和 webrtc/signalhub 的东西(我认为)......顶部的关键是另一个对等点的发现密钥:

0 投票
1 回答
32 浏览

node.js - 使用 Dat 的双向数据流

我有一个文件夹变成了 Dat

然后在另一台机器上,我可以访问它(来自节点脚本)

到目前为止一切都很好,原来的机器告诉我有一个新的连接,所以我们很好。从这里我不知道如何进行。我想将数据从对等机器写入原始机器。首先,我认为它足以使它可写,所以我确实喜欢这个

但是写入存档只写入我克隆的 Dat,如何回原始 Dat?这甚至可能吗?