如何启动服务Node.js

时间:2018-09-15 19:24:55

标签: node.js

因此,我一直在研究本书,现在进入第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;

0 个答案:

没有答案