无法使route.get在节点中工作

我试图用节点中的路由器接收信息,对不起,我对node.js非常陌生,但是现在全部在app.js文件中:(我只是得到一个“不能GET / api /本地主机:1337 / API

var express = require('express'); var path = require('path'); var mysql = require('mysql2'); var app = express(); var router = express.Router(); this.connection = null; function startCon() { console.log("www"); return mysql.createConnection({ host: 'localhost', user: 'root', password: 'root', database: 'users' }) } function getAll(){ console.log("bbb"); this.connection = startCon(); connection.query('SELECT * FROM user;', function (error, data) { if(!error){ console.log(data); } else { console.log("Error Selecting : %s ", error ); } }); } router.get('/api', function(req, res) { console.log("lol"); userDal.getAll(function(err, data){ if(!err){ res.json(data); } else { console.log(err); } }); }); getAll(); app.listen(1337, function(){ console.log('Server listening on port 1337'); }); 

你有你的app监听请求,你的router处理的呼叫,但你没有把他们绑在一起。

你在你的代码的末尾缺less这个:

 app.use('/', router); 

看快速演示 ,你不需要express.Router()调用。

app.get更改为app.get

 app.get('/api', function(req, res) { console.log("lol"); userDal.getAll(function(err, data){ if(!err){ res.json(data); } else { console.log(err); } }); });