我通过Node.js进行了简单的模块化。
我试图通过Postman进行api测试,但我的nodemon说发生以下错误。
错误
Error: Route.post() requires a callback function but got a [object Undefined]
at Route.
routes / router.js
const express = require('express');
const route = express.Router();
const user = require('../controller/user');
route.route('/user')
.post(user.createUser)
.get(user.readUser)
.put(user.updateUser)
.delete(user.deleteUser)
module.exports = route;
controller / user.js
exports.createUser = function (req, res) {
res.send('user create.')
}
exports.readUser = function (req, res) {
res.send('user read.')
}
exports.updateUser = function (req, res) {
res.send('user update.')
}
exports.deleteUser = function (req, res) {
res.send('user delete.')
}
server.js
const express = require('express');
const app = express();
const port = process.env.PORT || 3000;
const router = require('./routes/router');
app.use(router);
app.listen(port, err => {
if(err) console.log(err)
else console.log('server on');
});
我怎么了?
答案 0 :(得分:2)
我建议将您当前的代码( controller / user.js )转换为:
module.exports = {
createUser: function(req, res){
res.send('User created')
},
readUser: function (req, res) {
res.send('Viewing user.')
},
updateUser: function (req, res) {
res.send('User updated.')
},
deleteUser: function (req, res) {
res.send('User deleted.')
}}
不久前我遇到了类似的问题,这为我解决了这个问题。因此,在对我的回答投反对票之前,至少应考虑自己这样做。 :)我真的希望能有所帮助。