不同 JS 文件的导出/导入事件

时间:2021-05-12 00:54:46

标签: javascript node.js discord.js node-modules

我有一个包含所有依赖项和资源的 Index.js,它以这样开始,然后是我所有的函数和事件侦听器

//Index.js
const Discord = require("discord.js")
const external = require("./extern")

const Database = require("@replit/database")

const db = new Database()
const client = new Discord.Client()

//code 

module.exports= {client};

现在我想要一个 EventListener,它也使用另一个名为 extern.js 的文件中的 const“客户端”

编辑:

//extern.js
const Discord = require("discord.js")
const client = require('./index')

client.on("ready", () => {
  console.log(`logged in as ${client.user.tag}!`)
})

到目前为止我发现了什么:

我创建了一个函数 hello(),它在我的 extern.js 的控制台中打印 hello world 使用“module.exports = hello”导出函数 在我的 index.js 中我得到了它

const hello = require ("./extern")
hello()

效果很好,但只要我放

"const client = require("./index")"

在我的 extern.js 中,即使文件中未使用“客户端”,我也会收到消息错误,并且该行与函数无关

TypeError: hello is not a function
    at Object.<anonymous> (/home/runner/Stechuhr/index.js:184:1)
    at Module._compile (internal/modules/cjs/loader.js:999:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
    at Module.load (internal/modules/cjs/loader.js:863:32)
    at Function.Module._load (internal/modules/cjs/loader.js:708:14)
    at Module.require (internal/modules/cjs/loader.js:887:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (/home/runner/Stechuhr/extern.js:2:14)
    at Module._compile (internal/modules/cjs/loader.js:999:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)

顺便说一句,我在 repl.it 中编码

1 个答案:

答案 0 :(得分:-1)

您应该只导出客户端:

module.exports = client;

然后只有金额