快速js路由和mysql查询无法正常工作

时间:2014-07-19 12:20:08

标签: javascript mysql node.js express

我刚刚开始学习Node和Express,我对express中的路线有一些疑问。我想要一个很好的模块化路由代码。我想从mysql数据库中查询一些数据:

这是我的app.js(它位于" public_html"目录):

var path = require('path');
var express = require('express');
var routes = require('./routes');
var app = express();

var staticPath = path.resolve(__dirname, './');
app.use(express.static(staticPath));

routes.init(app);
module.exports = app;

app.listen(3000, function() {
console.log('Server is listening on port: 3000');
});

下一个文件:" public_html / routes / index.js":

exports.init = function(app){

//electronics routes
app.use('/laptop', require('./laptop'));
};

"的public_html /路由/膝上型/ index.js":

var router = require('express').Router();
router.get('/laptop', require('./modules/laptop'));
module.exports = router;

"的public_html /路由/膝上型/模块/ laptop.js":

var mysql = require('mysql');

var connection = mysql.createConnection(
 {
   host     : 'localhost',
   user     : 'admin',
   password : 'xxxxxxx',
   database : 'database',
 }

);

module.exports = function(req, res){

connection.connect();

var queryString = 'SELECT * FROM laptop';

connection.query(queryString, function(err, rows, fields) {
if (err) throw err;

res.writeHead(200, { 'Content-Type': 'application/json'});
res.end(JSON.stringify(rows));
});

connection.end();
};

我希望保持这种模块化,即使它看起来有点复杂,将来我也需要它。 所以问题是它没有工作,我认为这只是一个愚蠢的错误,但我找不到它,而且在互联网上只有简单的路由示例,所以我不能使用它们在这种情况下。

1 个答案:

答案 0 :(得分:0)

问题很可能出在您的路由中。

您正在/laptop安装单独的路由器。在该安装的路由器中,您将在其上设置/laptop(GET)路由,因此完整路径为/laptop/laptop

相关问题