「prefix.js」からプレフィックスをエクスポートしようとしています。 「index.js」にそして「?」を返すようにしたいのです。データベースのプレフィックスは「?」なので
これは「prefix.js」のコードです。
const GuildConfig = require("../database/schemas/GuildConfig");
const { Client } = require("discord.js");
const client = new Client();
const prefix = () => {
if (message.author.bot) return;
const guildConfig = GuildConfig.findOne({
guildId: message.guild.id,
});
const prefix = guildConfig.get("prefix");Z
return prefix
};
exports.prefix = prefix
これは「index.js」のコードの一部です。
const prefix = require("./src/events/prefix")
console.log(prefix)
これがコンソールに表示される内容です
{ 接頭辞: [関数: 接頭辞] }
2
プレフィックス エクスポートがデフォルトのエクスポートではないため、オブジェクト dest を通じてアクセスする必要があります。構造化するか、prefix.prefix によって。あるいは、代わりに module.exports を使用する必要があります。詳細については、この StackOverflow の質問を参照してください。
– エドリック
2020 年 9 月 3 日 19:46
------------------------
関数を事前に宣言するときにプレフィックスをエクスポートに結び付けたり、中かっこ {} を使用して後でエクスポートしたりできます。
エクスポート関数 prefix() {}
または
プレフィックス = () => {}
{プレフィックス} をエクスポート
エクスポート/インポートについて少し詳しく説明した記事は次のとおりです。
https://javascript.info/import-export
1
OP は ES6 モジュールではなく、Node.JS モジュール システムを使用しています。
– テイクサムバイト
2020 年 9 月 3 日 23:41
------------------------
答え
次のようにプレフィックス関数を呼び出す必要があります。
オプション 1 (オブジェクトを分解する)
const { prefix } = require("./src/events/prefix")
console.log(prefix())
オプション 2 (関数を呼び出すことによる)
const prefix = require("./src/events/prefix")
console.log(prefix.prefix())
参照
NodeJS エクスポート