首页 新闻 搜索 专区 学院

express中使用路由

0
悬赏园豆:200 [待解决问题]

在express中使用路由,代码如下

const express = require('express');
const topic = require('../../controller/shop/controller_shop_topic');
const router = express.Router();
module.exports = router;

router.get('/shop/topic', topic.list);
router.get('/shop/topic/add_topic', topic.toAdd);
 
但是一直报Route.get() requires a callback function but got a [object Undefined]这个错误,有没有解决方法呀 求解
指尖流年1218的主页 指尖流年1218 | 初学一级 | 园豆:3
提问于:2018-08-28 16:14
< >
分享
所有回答(3)
0

你的 controller_shop_topic 文件中,没有导出 list和toAdd方法。

 

贴出你 controller_shop_topic的内容。需要module.export = {list(){}, toAdd(){}}

幻天芒 | 园豆:36594 (高人七级) | 2018-08-28 20:07

好的  我看看  谢谢🌸 

支持(0) 反对(0) 指尖流年1218 | 园豆:3 (初学一级) | 2018-08-28 20:18

但是如果我不写router.get的话,它就不会报这个错,页面正常显示。

支持(0) 反对(0) 指尖流年1218 | 园豆:3 (初学一级) | 2018-08-28 20:34

@等一个晴天1218: 没调用,当然就正常了。

支持(0) 反对(0) 幻天芒 | 园豆:36594 (高人七级) | 2018-08-28 20:38

@幻天芒: 不懂代码的人太可怕了,谢谢你

支持(0) 反对(0) 指尖流年1218 | 园豆:3 (初学一级) | 2018-08-28 20:46
0

应该是导出的问题,如楼上所说,没有module.export,或者导出的不是函数

wdwwtzy | 园豆:226 (菜鸟二级) | 2018-08-29 00:18

exports.toAdd = async (req, res, next) => { let kehuId = req.session.kehu_id; console.log('kehuId---->',kehuId); try { let [result, create] = await ShopTopic.findAll({ attributes: ['id', 'conf','title','base_like','base_reading', 'img','sort','classes','is_layout','presentation', 'is_distribution_business_card','is_promotion',], where: { kehu_id: kehuId, del: false }, raw: true, defaults: req.body }); let data = { top_active: 'shop', result: result }; res.render('/shop/frontend_template_edit', data); console.log('data----',data); } catch (err) { next(err); } };

 

支持(0) 反对(0) 指尖流年1218 | 园豆:3 (初学一级) | 2018-08-29 10:11

module.export是在router里面还是controller里面?

支持(0) 反对(0) 指尖流年1218 | 园豆:3 (初学一级) | 2018-08-29 10:13
0

已解决 谢谢

指尖流年1218 | 园豆:3 (初学一级) | 2018-08-29 21:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册