当我使用“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);}索引.jsimport express from 'express';const app = express()import {registerRoutes} from './routes';const port = 3000registerRoutes();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)
2 回答
皈依舞
TA贡献1851条经验 获得超3个赞
您缺少将 app 作为 Index.js 的参数传递
import express from 'express';
const app = express()
import {registerRoutes} from './routes';
const port = 3000
registerRoutes(app); // <- Here
app.get('/', (req, res) => res.send('Hello World!'))
app.listen(port, () => console.log(`MEVN app listening at http://localhost:${port}`))
慕容708150
TA贡献1831条经验 获得超4个赞
app.use('/api',taskRoutes);
所以你打电话app.use
是什么app
?
export function registerRoutes(app) {
这是您传递给的第一个参数registerRoutes
。
那是什么?
registerRoutes();
没有一个。你没有通过它的论点。
调用函数时,必须将 express 对象作为参数传递。
添加回答
举报
0/150
提交
取消