我知道这个问题已经发布了好几次了,这总是一个基本的错误,我已经遇到了这个问题,而且这总是一个已经发布过的问题的错误。
就像我以这种方式制造的第六台服务器一样,这次我不知道为什么它不认为是功能。
here is the error displayed on the console
此处发生错误
const router = require('express').Router();
module.exports = (api) => {
router.post('/',
api.middlewares.ensureAuthenticated,
api.middlewares.bodyParser.json(),
api.middlewares.agentDispenser.createMyAgent,
api.actions.hub);
return router;
}
当我发表评论
api.middlewares.agentDispenser.createMyAgent
它不会崩溃
我的中间件索引看起来像
module.exports = (api) => {
api.middlewares = {
bodyParser: require('body-parser'),
ensureAuthenticated: require('./ensureAuthenticated'),
agentDispenser: require('./agentDispenser')
};
};
和agentDispenser看起来像这样
const {WebhookClient} = require('dialogflow-fulfillment');
const {Card, Suggestion} = require('dialogflow-fulfillment');
var agent;
module.exports = (api) => {
function createMyAgent(req, res, next) {
agent = new WebhookClient({ req, res })
return next()
}
function getMyAgent() {
return agent
}
return {
createMyAgent,
getMyAgent
}
}
正如我所说,我在许多项目上使用相同的语法/结构,并且可以正常工作,所以我真的不知道问题出在哪里,我已经读了很多关于此的话题,很多都是关于放弃的回报或缺少(api)...但是在这里我不知道
非常感谢您的帮助
编辑:对我感到羞耻...
答案 0 :(得分:1)
r': (.+)'
是api.middlewares.agentDispenser.createMyAgent
,因为undefined
是一个接受api.middlewares.agentDispenser
并返回中间件名称空间的函数,而不是名称空间本身。
我猜你想要类似的东西
api