请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

5-3 小节路由访问不了呢

1.models/index.js
module.exports = (app) => {

console.log(‘执行中间件’);
app.use(’/ads’, () => require(’./ads’)) //
}

上面使用中间件,直接写require报错,所以我写了个函数。但是这样每次启动的时候必须要先
访问http://localhost:3000/ads 才能创建数据库

  1. ads.js 写完后使用 http://localhost:3000/ads/advertising 也访问不了这个路径,请问老师是怎么回事啊?
    代码如下:
    router.get("/advertising", async (req, res) => {
    const sql = select * from ads;
    console.log(‘访问advertising’);
    try {
    const result = await sqlQuery(sql);
    console.log(result);
    res.send({
    code: 1, // 请求成功
    message: ‘请求成功’,
    result
    })
    }catch(err) {
    res.send({
    code: -1,
    message: ‘请求失败’,
    })
    }

})

models.exports = router;

正在回答 回答被采纳积分+3

插入代码

1回答

不浪 2022-06-23 11:26:55

第一个报什么错误,贴一下,还有就是app.use第二个参数是一个回调,你如果用函数包一下,是不是应该将require进来的方法执行一下,可以试一下

0 回复 有任何疑惑可以回复我~
  • 提问者 奇迹11321 #1
    D:\大前端\Taro3最新版本开发企业级出行全栈项目\taro-express-mysql\node_modules\_express@4.18.1@express\lib\router\index.js:469
          throw new TypeError('Router.use() requires a middleware function but got a ' + gettype(fn))
          ^
    
    TypeError: Router.use() requires a middleware function but got a Object
        at Function.use (D:\大前端\Taro3最新版本开发企业级出行全栈项目\taro-express-mysql\node_modules\_express@4.18.1@express\lib\router\index.js:469:13)     
        at Function.<anonymous> (D:\大前端\Taro3最新版本开发企业级出行全栈项目\taro-express-mysql\node_modules\_express@4.18.1@express\lib\application.js:227:21)
        at Array.forEach (<anonymous>)
        at Function.use (D:\大前端\Taro3最新版本开发企业级出行全栈项目\taro-express-mysql\node_modules\_express@4.18.1@express\lib\application.js:224:7)       
        at module.exports (D:\大前端\Taro3最新版本开发企业级出行全栈项目\taro-express-mysql\server\models\index.js:5:7)
        at Object.<anonymous> (D:\大前端\Taro3最新版本开发企业级出行全栈项目\taro-express-mysql\server\index.js:7:1)
        at Module._compile (node:internal/modules/cjs/loader:1101:14)
        at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    回复 有任何疑惑可以回复我~ 2022-07-07 18:53:34
  • 提问者 奇迹11321 #2
    搞定了 models.exports = router; 写错了 。应该是modules,手滑了
    回复 有任何疑惑可以回复我~ 2022-07-07 19:15:09
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号