Я использую Express и Discord.js.
website.js
const express = require("express");
const app = express();
//...
ap.get("/testpage/:guildID", checkAuth, (req, res) => {
const guild = client.guilds.get(req.params.guildID); //get the guild object which holds further object maps
//console.log(guild) output is expected with this console log
//I made the guildRoles since I thought maybe I had to send the roles map instead of the guild object, but it does not work either
const guildRoles = guild.roles;
//console.log(guildRoles) has expected output
renderTemplate(res, req, "configure.ejs", {guild, guildRoles});
};
configure.ejs
//...
<script>
//...
function testFunction() {
let guildRolesVar = <%- guildRoles %>;
console.log(guildRolesVar);
//this outputs an empty object, {}, when it should return {...} ... with data in it
//same with <%- guild %>, however, it does return data, however, object maps are empty (same as above), but things that are not maps
};
</script>
Я ожидал, что данные карты объектов пройдут, но это не так, и я понятия не имею, почему.
Структура guild
:
Guild {
roles:
Collection [Map] {
'1111111111111110' => Role {
guild: [Circular],
id: '1111111111111110',
name: '@testRole' },
'1837219387129378' => Role {
guild: [Circular],
id: '1837219387129378',
name: '@anotherRole' } },
name: 'the guild name',
id: '12103981203980',
}
Как видите, у объекта гильдии есть дополнительные карты объектов. Когда в моем app.get(...)
console.log объект гильдии, он выводит полные данные, ничего не пропуская. Однако, когда я передаю объект, объект ролей становится пустым ({}).
Почему это происходит и как я могу получить полные данные?