[英]Express js routing and mysql query not working
我剛剛開始學習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 / routes / laptop / index.js”:
var router = require('express').Router();
router.get('/laptop', require('./modules/laptop'));
module.exports = router;
“ public_html / routes / laptop / modules / 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();
};
我希望保持這種模塊化,即使它看起來有點復雜,將來也將需要它。 因此,問題在於它只是不起作用,我認為這只是一個愚蠢的錯誤,但是我沒有找到它,並且在互聯網上只有簡單的路由示例,因此在這種情況下我無法使用它們。
問題很可能出在您的路由中。
您正在/laptop
安裝單獨的路由器。 在已安裝的路由器中,您將在其之上設置/laptop
(GET)路由,因此完整路徑將為/laptop/laptop
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.