【问题标题】:The router in my react app throws an error我的反应应用程序中的路由器引发错误
【发布时间】:2021-05-16 16:47:58
【问题描述】:

这是错误:

 throw new TypeError('app.use() requires a middleware function')
    ^

TypeError: app.use() requires a middleware function
    at Function.use (/Users/Andres/Desktop/chat-app-2/server/node_modules/express/lib/application.js:210:11)
    at Object.<anonymous> (/Users/Andres/Desktop/chat-app-2/server/index.js:13:5)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    at Module.load (internal/modules/cjs/loader.js:928:32)
    at Function.Module._load (internal/modules/cjs/loader.js:769:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
    at internal/main/run_main_module.js:17:47
[nodemon] app crashed - waiting for file changes before starting...

ROUTER.JS

    const express = require('express');
    const router = express.Router();
    
    router.get(`/`, (req, res) => {
        res.send('server is up and running');
    });
    
    module.export = router;

索引.JS

    const express = require('express');
    const socketio = require('socket.io');
    const http = require('http');
    
    const PORT = process.env.PORT || 5000;
    
    const router = require('./router');
    
    const app = express();
    const server = http.createServer(app);
    const io = socketio(server);
    
    app.use(router);
    
    server.listen(PORT, () => console.log(`Server has started on port ${PORT}`));

有人可以帮我解决这些问题吗?

【问题讨论】:

    标签: reactjs express server router nodemon


    【解决方案1】:

    根据https://expressjs.com/en/guide/routing.html,您需要提供一个支持导入的路由器运行的路由。试试:

    app.use('/', router);
    

    或者您可以使用不同的路由,例如/mysubroute

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-30
      • 1970-01-01
      • 1970-01-01
      • 2021-03-01
      • 2016-03-07
      • 2016-01-04
      • 1970-01-01
      相关资源
      最近更新 更多