因此,我一直在研究本书,现在进入第6章。
启动nodejs服务时出现以下错误, 我已经安装了Express框架
添加app_api文件夹后,插入正确的路由,制作控制器,并将models文件夹从app_server移至app_api, 该应用程序将无法启动。
[nodemon] starting `node server.js`
C:\Users\Sebastian\Desktop\nodejsRestful\node_modules\express\lib\router\route.js:202
throw new Error(msg);
^
Error: Route.get() requires a callback function but got a [object Undefined]
at Route.(anonymous function) [as get] (C:\Users\Sebastian\Desktop\nodejsRestful\node_modules\express\lib\router\route.js:202:15)
at module.exports (C:\Users\Sebastian\Desktop\nodejsRestful\api\routes\asistenteRoutes.js:7:6)
at Object.<anonymous> (C:\Users\Sebastian\Desktop\nodejsRestful\server.js:38:1)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Function.Module.runMain (module.js:693:10)
at startup (bootstrap_node.js:191:16)
[nodemon] app crashed - waiting for file changes before starting...
我具有以下REST服务
'use strict';
var express = require('express');
var router = express.Router();
var bd = require('../recursos/database');
router.post('/guardar', function (req, res, next) {
var registro = {
cedula: req.body.cedula,
nombre: req.body.nombre,
apellido: req.body.apellido,
fechaIngreso: req.body.fechaIngreso,
edad: req.body.edad,
genero: req.body.genero,
ciudad: req.body.ciudad,
direccion: req.body.direccion,
salario: req.body.salario
};
bd.query('insert into asistenteventa set ?', registro, function (error, resultado) {
/*Si sucede un error*/
if (error) {
console.log(error);
res.status(500); // Server Error
res.json({res: false});
} else {
res.status(200); // OK
res.json({res: true});
}
res.end();
});
});
router.get('/listar', function (req, res, next) {
bd.query('select Cedula, Nombre, Apellido, FechaIngreso, Edad, Genero, Ciudad, Direccion, Salario from asistenteventa', function (error, filas) {
if (error) {
console.log(error);
res.status(500); // Server Error
res.json({res: false});
} else {
res.status(200); // OK
res.json({asistenteVenta: filas});
}
res.end();
});
});
router.get('/buscar', function (req, res, next) {
/*El dsto que llega por get es CODIGO*/
bd.query('select Cedula, Nombre, Apellido, FechaIngreso, Edad, Genero, Ciudad, Direccion, Salario from asistenteventa where Cedula=?', req.query.cedula, function (error, filas) {
if (error) {
console.log(error);
res.status(500); // Server Error
res.json({res: false});
}
if (filas.length > 0) {
res.status(200); // OK
res.json({estudiante: filas});
} else {
//res.status(404); // Registro no encontrado
res.json({res: false, msj: "No se encuentra el registro"});
}
});
});
router.delete('/eliminar', function (req, res, next) {
bd.query('delete from asistenteventa where Cedula=?', req.query.id, function (error, filas) {
if (error) {
console.log(error);
res.status(500); // Server Error
res.json({res: false});
} else {
res.status(200); // OK
res.json({res: true});
}
res.end();
});
});
router.put('/guardar', function (req, res, next) {
var registro = {
cedula: req.body.cedula,
nombre: req.body.nombre,
apellido: req.body.apellido,
fechaIngreso: req.body.fechaIngreso,
edad: req.body.edad,
genero: req.body.genero,
ciudad: req.body.ciudad,
direccion: req.body.direccion,
salario: req.body.salario
};
bd.query('UPDATE asistenteventa SET ? WHERE ?', [registro, {id: req.body.cedula}], function (error, resultado) {
if (error) {
console.log(error);
res.status(500); // Server Error
res.json({res: false});
} else {
res.status(200); // OK
res.json({res: true});
}
res.end();
});
});
module.exports = router;