Nodejs模块化编程,json错误

时间:2016-06-16 06:55:43

标签: node.js node-modules

我是Nodejs的新手。我实际上正在编写一个代码,只在浏览器窗口中显示一个名称。基本上有4个文件config.js,rootstudent.js,servicestudent.js和sqlstudent.js。我尝试了拆分coe的方法,因为我读过在做大项目时建议拆分代码。

这是我的config.js

var express = require('express');
var route=require('./routestudent');
var app = express();
var port = 5000;
route.studentRoutes(app);
var server = app.listen(port, function () {
  console.log('Server is running on port '+port);
});

routestudent.js

var express = require('express');
var service=require('./servicestudent');
module.exports={
studentRoutes:function(app){
    app.get('/allData',function(request,response){
        service.getAllData(function(records){
            response.json({data:records.data});
        });
    });
 }
}

servicestudent.js

var express = require('express');
var sql=require('./sqlstudent');
module.exports={
    getAllData:function(records){
        return (sql.fetchData());
    }
}

sqlstudent.js

module.exports={
    fetchData:function(err){
        if(err)
         console.log(err);
        else{
            return json({name : " praveen "});
        }
    }
}

我还附上了我在浏览器窗口error message

中收到的错误

请帮助识别我出错的地方..

2 个答案:

答案 0 :(得分:0)

您可以从“sqlstudent.js”返回对象。

返回json({name:“praveen”}); 这是错误的。 只需写:return {name:“praveen”}

答案 1 :(得分:0)

routestudent.js

var express = require('express');
var service=require('./servicestudent');
module.exports={
studentRoutes:function(app){
    app.get('/allData',function(request,response){
        service.getAllData(function(records){
            response.status(200).send({data:records});
        });
    });
 }
}

servicestudent.js

var express = require('express');
var sql=require('./sqlstudent');
module.exports={
    getAllData:function(cb){
        cb(sql.fetchData());
    }
}

sqlstudent.js

module.exports={
    fetchData:function(err){
        if(err)
         console.log(err);
        else{
            return {name : " praveen "};
        }
    }
}

像这样更改您的代码。