TypeError:无法读取未定义 Express 的属性“使用”

当我使用“app.use”命令时,我的快速服务器遇到了一些问题


在我的 task-routes.js 文件中,我有以下代码


import express from 'express';

const router = express.Router();



router.post('/task',(req, res) => {

    res.send('post.task - create a task');

});

router.get('/task',(req, res) => {

    res.send('get.task - get all tasks')

});

router.get('/task/:id',(req, res) => {

    res.send('get.task/:id - get task by id')

});

router.put('/task',(req, res) => {

    res.send('put.task - update a task')

});

router.delete('/task',(req, res) => {

    res.send('delete.task - delete a task')

});


export default router;

在我的 routes.js 文件中,我有这个


import taskRoutes from './api/task/tasks-routes';


export function registerRoutes(app) {

app.use('/api',taskRoutes);


}

索引.js


import express from 'express';

const app = express()

import {registerRoutes} from './routes';

const port = 3000

registerRoutes();

app.get('/', (req, res) => res.send('Hello World!'))


app.listen(port, () => console.log(`MEVN app listening at http://localhost:${port}`))

这是我不断收到的错误


/Users/musabhamid/Desktop/mevn-stack copy/prod-server/routes.js:15

  app.use('/api', _tasksRoutes2.default);

      ^


TypeError: Cannot read property 'use' of undefined

    at registerRoutes (/Users/musabhamid/Desktop/mevn-stack copy/prod-server/routes.js:15:7)

    at Object.<anonymous> (/Users/musabhamid/Desktop/mevn-stack copy/prod-server/index.js:14:28)


慕婉清6462132
浏览 111回答 2
2回答

皈依舞

您缺少将 app 作为 Index.js 的参数传递import express from 'express';const app = express()import {registerRoutes} from './routes';const port = 3000registerRoutes(app); // <- Hereapp.get('/', (req, res) => res.send('Hello World!'))app.listen(port, () => console.log(`MEVN app listening at http://localhost:${port}`))

慕容708150

app.use('/api',taskRoutes);所以你打电话app.use是什么app?export&nbsp;function&nbsp;registerRoutes(app)&nbsp;{这是您传递给的第一个参数registerRoutes。那是什么?registerRoutes();没有一个。你没有通过它的论点。调用函数时,必须将 express 对象作为参数传递。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java