我正在编写一个Node.js应用程序,并试图在calls.js控制器内使用index.js文件中的函数。每当我添加
var IndexBot = require('/root/afstudeerwerk/chatbotPIROS/index');
routes.js(/ root / afstudeerwerk / chatbotApi / api / routes):
'use strict';
module.exports = function(app) {
var chatbot = require('/root/afstudeerwerk/chatbotPIROS/calls');
app.post('/slack/receive',chatbot.create_a_message);
app.post('/DBcheck/:id',chatbot.checkUserAuth);
};
calls.js(/ root / afstudeerwerk / chatbotPIROS / calls)
'use strict';
exports.create_a_message = function(req, res) {
var IndexBot = require('/root/afstudeerwerk/chatbotPIROS/index');
var message = req.body;
var button = JSON.parse(message.payload).actions[0].value
if(button == 'MeanMakeVM'){
res.json({message:'Please enter your VM specs.'});
IndexBot.stuur_bot_bericht('dit is een testbericht.');
}
答案 0 :(得分:0)
您的控制器中缺少在路由文件文件中为其指定了路由的任何方法。
在路线文件中,您有一条路线app.post('/DBcheck/:id',chatbot.checkUserAuth);
,但在calls.js
中却没有任何名为checkUserAuth的函数,这就是为什么会给您错误。
在调用文件中创建一个名为checkUserAuth的方法,您的错误将得到解决