Node + Express JS API无法正常工作

时间:2017-01-25 10:27:57

标签: javascript node.js rest express

我是node.js的初学者,但是我尝试在node + express js中设置一个结构。我开始使用前端和单独的API结构。我为这两个设置了一个app.js API和前端。但我的API无效。它给出了错误当我拨打http://localhost:3000/api/users时无法GET / api /用户。请帮忙

api
-controllers
-helpers
-middlewares
-models
-routes.js
app.js
controllers
helpers
middlewares
models
node_modules
package.json
public
views

app.js

var express = require('express')
  , app = express()
  , bodyParser = require('body-parser')
  , port = process.env.PORT || 3000

var path = require('path');
app.set('views', path.join(__dirname, 'views/'));
app.set('view engine', 'ejs')
app.use(express.static(__dirname + '/public'))
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({extended: true}))
app.use(require('./controllers'))
var routes = require('./api/routes');
app.use('/api', routes);
app.listen(port, function() {
  console.log('Listening on port ' + port)
})

routes.js

var express = require('express')
 , router = express.Router()
var usersController = require('./controllers/users');
module.exports = function (app) {
    app.get('/users', usersController.getUser);
};
module.exports = router;

users.js(控制器)

module.exports = {
    getUser: function (req, res) {
        console.log("sdfdsfdsfsd");
        res.setHeader('Content-Type', 'application/json');
        res.send(JSON.stringify({"msg": "welcome user"}));
    }
}

1 个答案:

答案 0 :(得分:1)

routes.js文件中,您要导出两件事。尝试仅导出路由器

var express = require('express')
 , router = express.Router()
var usersController = require('./controllers/users');

router.get('/users', usersController.getUser);

module.exports = router;