如何使用Deno Fresh进口GUN SEA



从Fresh导入GUN的第一次尝试是将枪库从esm添加到import_map.json,在使用GUN的简单示例中它可以正确工作。

{
"imports": {
...
"gun": "https://esm.sh/gun@0.2020.1237",
}
}

但当我想额外导入CCD_ 2时,出现了问题,导入import Sea from "gun/sea";

我得到了这个错误:

error: Uncaught (in promise) Error: Dynamic require of "./lib/text-encoding" is not supported

在GitHub上,当出现这样的问题时,我在导入SEA之前阅读了导入gun/lib/mobile的内容。但这带来了一个额外的问题:

error: Uncaught (in promise) TypeError: Assignment to constant variable.

我检查了gun/lib/mobile文件,它实际上包含了几行全局变量:

import Buffer from "buffer";
import { TextEncoder, TextDecoder } from "text-encoding";
global.Buffer = global.Buffer || Buffer.Buffer;
global.TextEncoder = TextEncoder;
global.TextDecoder = TextDecoder;

有没有机会让SEA在Fresh上发挥作用?

import_map.json文件的导入中添加以下行:

"@gun": "https://esm.sh/gun@0.2020.1237"

然后使用此导入语句在任何路线/组件中导入枪:

import GUN from "@gun"

用法(来自GUN文档(:

const gun = GUN();
gun.get('mark').put({
name: "Mark",
email: "mark@gun.eco",
});
gun.get('mark').on((data, key) => {
console.log("realtime updates:", data);
});
setInterval(() => { gun.get('mark').get('live').put(Math.random()) }, 9);

相关内容

  • 没有找到相关文章

最新更新