【发布时间】:2022-08-17 18:14:00
【问题描述】:
我尝试使用 OrbitDB 和 IPFS 运行以下代码,但我不断收到 export not found 错误:
internal/modules/cjs/loader.js:456
throw e;
^
Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: No \"exports\" main defined in /Users/Downloads/folder1/node_modules/ipfs/package.json
at throwExportsNotFound (internal/modules/esm/resolve.js:285:9)
at packageExportsResolve (internal/modules/esm/resolve.js:466:7)
at resolveExports (internal/modules/cjs/loader.js:450:36)
at Function.Module._findPath (internal/modules/cjs/loader.js:490:31)
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:27)
at Function.Module._load (internal/modules/cjs/loader.js:743:27)
at Module.require (internal/modules/cjs/loader.js:965:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/Users/Downloads/folder1/chatroom.js:1:14)
at Module._compile (internal/modules/cjs/loader.js:1076:30) {
code: \'ERR_PACKAGE_PATH_NOT_EXPORTED\'
}
我尝试更新我的 npm,使用 npm audit 对其进行审核,我重新安装了节点(删除并重新安装了 node_modules),下载了 OrbitDB 并删除了 package.json,但我不确定如何解决这个没有导出主要定义的情况。
const Ipfs = require(\'ipfs\');
const OrbitDB = require(\'orbit-db\');
class chatroom {
constructor(IPFS, OrbitDB) {
this.OrbitDB = OrbitDB;
this.node = new IPFS({
preload: {enable: false},
repo: \"./ipfs\",
EXPERIMENTAL: {pubsub: true},
config: {
Bootstrap: [],
Addresses: {Swarm: []}
}
});
this.node.on(\"error\", (e) => {throw (e)});
this.node.on(\"ready\", this._init.bind(this));
}
async _init(){
this.orbitdb = await this.OrbitDB.createInstance(this.node);
this.onready();
}
}
module.exports = exports = new chatroom(Ipfs, OrbitDB);
标签: javascript node.js ipfs orbitdb