首页 > 解决方案 > 我的反应应用程序中的路由器引发错误

问题描述

这是错误:

 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...

路由器.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}`));

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

标签: reactjsexpressserverrouternodemon

解决方案


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

app.use('/', router);

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


推荐阅读