node.js - EJS:ReferenceError:未定义机器人
问题描述
我想在 Discord.js 和 EJS 中制作一个机器人仪表板。
我有一个错误。
>> 1| <%- include('blocks/header', {bot, user, path})%>
bot is not defined
at eval (/app/dashboard/index.ejs:10:43)
at index (/rbd/pnpm-volume/694e46f9-27bb-4ad9-87e8-c675e51f8f94/node_modules/.registry.npmjs.org/ejs/2.7.4/node_modules/ejs/lib/ejs.js:682:17)
at tryHandleCache (/rbd/pnpm-volume/694e46f9-27bb-4ad9-87e8-c675e51f8f94/node_modules/.registry.npmjs.org/ejs/2.7.4/node_modules/ejs/lib/ejs.js:254:36)
at View.exports.renderFile [as engine] (/rbd/pnpm-volume/694e46f9-27bb-4ad9-87e8-c675e51f8f94/node_modules/.registry.npmjs.org/ejs/2.7.4/node_modules/ejs/lib/ejs.js:485:10)
at View.render (/rbd/pnpm-volume/694e46f9-27bb-4ad9-87e8-c675e51f8f94/node_modules/.registry.npmjs.org/express/4.17.1/node_modules/express/lib/view.js:135:8)
at tryRender (/rbd/pnpm-volume/694e46f9-27bb-4ad9-87e8-c675e51f8f94/node_modules/.registry.npmjs.org/express/4.17.1/node_modules/express/lib/application.js:640:10)
at Function.render (/rbd/pnpm-volume/694e46f9-27bb-4ad9-87e8-c675e51f8f94/node_modules/.registry.npmjs.org/express/4.17.1/node_modules/express/lib/application.js:592:3)
at ServerResponse.render (/rbd/pnpm-volume/694e46f9-27bb-4ad9-87e8-c675e51f8f94/node_modules/.registry.npmjs.org/express/4.17.1/node_modules/express/lib/response.js:1012:7)
at app.get (/app/util/dashboard.js:45:7)
at Layer.handle [as handle_request] (/rbd/pnpm-volume/694e46f9-27bb-4ad9-87e8-c675e51f8f94/node_modules/.registry.npmjs.org/express/4.17.1/node_modules/express/lib/router/layer.js:95:5)
但我已经定义了。
const renderTemplate = (res, req, template, data = {}) => {
const baseData = {
bot: client,
path: req.path,
user: req.isAuthenticated() ? req.user : null
};
res.render(templateDir + path.sep + template, {baseData, data});
};
我的 index.ejs 文件中有一个包含标签。
<%- include('blocks/header', {bot, user, path})%>
如有任何帮助,谢谢!
解决方案
解决这个问题的方法是用不同的方式渲染它;
const renderTemplate = (res, req, template, data = {}) => {
res.render(templateDir + path.sep + template), {
bot: client,
path: req.path,
user: req.isAuthenticated() ? req.user : null
data: data
})
};
推荐阅读
- frama-c - 使用 malloc 编程:为什么 Eva 不能证明 \valid(p)?
- multithreading - 如何在linux上获取没有gdb/pstack的进程的所有线程pthread_t id
- msbuild - CSC 错误 CS0006:找不到元数据文件“SonarAnalyzer.dll”
- javascript - 使用数据库中的坐标在画布上绘制点
- linux - 设备驱动程序在用户应用程序重复使用后崩溃
- linux - gcc 优化和调整标志
- api-key - 谷歌云语音 API
- javascript - 为什么将数组命名为“名称”会使 .length 方法在 JavaScript 中打印错误的值?
- java - 带对象的数组;将文本行拆分为对象成员?
- javascript - 如何使用 Javascript 从嵌套的多维数组中获取值