Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.9k views
in Technique[技术] by (71.8m points)

node.js - How to correct Error: Route.post() requires a callback function but got a [object Undefined]

I have this error although this code is correct and this code was working well without any issues and suddenly it hit err when saved changes this error was hit

**/home/ahmed/applications/bootcamper/node_modules/express/lib/router/route.js:202 throw new Error(msg); ^

Error: Route.post() requires a callback function but got a [object Undefined] (/home/ahmed/applications/bootcamper/routes/auth.js:5:8) (/home/ahmed/applications/bootcamper/app.js:20:20)** auth.js ( controller)

// @desc    register user
// @route   POST /api/v1/auth/register
// @access  Public

exports.register  =  async(req,res,next) =>{

const { name, password, email, role } = req.body

try{
    const user = await User.create({
        name,
        email,
        password,
        role
    })

    res.status(200).json({
        success: true,
        user
    })
}
catch(err){
    next(err)
}
}

auth.js ( routes)

const express = require('express');
const router = express.Router()
const {register, login} = require('../routes/auth');

router.post('/register', register)

module.exports = router

app.js

const path = require('path')
const express = require('express');
const dotenv = require('dotenv')
const connectDB = require('./config/db')
const colors = require('colors')
const errorHandler = require('./middleware/error')
const fileupload = require('express-fileupload');
// Middlewares
const logger = require('./middleware/logger')
// Load env vars

dotenv.config({path: './config/config.env'})

// Connect To DB
connectDB();

//Routes
const bootcampsRoutes = require('./routes/bootcamps')
const coursesRoutes = require('./routes/courses')
const authRoutes = require('./routes/auth')


const app = express();


// Body Parser
app.use(express.json());


app.use(logger);

// File uploadinf
app.use(fileupload());

// set static folder
app.use(express.static(path.join(__dirname, 'public')));

//Mount Routers
app.use('/api/v1/bootcamps', bootcampsRoutes);
app.use('/api/v1/courses',coursesRoutes);
app.use('/api/v1/auth',authRoutes)
app.use(errorHandler);

//listen
const PORT = process.env.PORT || 5000

const server = app.listen(PORT, () => {
    console.log(`Server running in ${process.env.NODE_ENV} mode on port ${PORT}`.yellow.bold);
});

// Handle Unhandle promise rejections
process.on('unhandledRejection', ( err, promise )=>{
    console.log(`Error: ${err.message}`.red)
    // Close server & exit process
    server.close(()=> process.exit(1))
})
question from:https://stackoverflow.com/questions/65850340/how-to-correct-error-route-post-requires-a-callback-function-but-got-a-objec

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...