javascript - Node app route is not working -
im new node js , i've created following 3 files , when save application got error
http.createserver(app).listen(**app.get('port')**, function(){
the error undefined not function use nodemon , see error in terminal
i want keep structure of files(to initiate server different file - server.js )since want use tdd .
this files
server.js
var http = require('http'); app = require('./app'); http.createserver(app).listen(app.get('port'), function(){ console.log('express server listening on port ' + app.get('port')); });
app.js
module.exports = function() { var express = require('express'), app = express(); app.set('port', process.env.port || 3000); app.use(require('./controllers/requests')); return app; }
requests.js
var routers = require('express') , router = express.router() router.get('/wild', function(req, res) { debugger; res.send('wolf, fox, eagle') }) module.exports = router
update this update in code app.js
module.exports = function() { var express = require('express'), app = express(); app.set('port', process.env.port || 3000); app.use(function(){ var routes = require('./controllers/requests') (app); }); return app; }
requests.js **
module.exports = function (app) { var express = require('express') , router = express.router(); app.get('/wild', function(req, res) { res.send('wolf, fox, eagle'); }) }
server.js
var http = require('http'); app = require('./app'); http.createserver(app).listen(app.get('port'), function(){ console.log('express server listening on port ' + app.get('port')); });**
you should invoke function returned module containing app.
app = require('./app') ();
moreover, in request.js file should define routes on app instance:
module.exports = function (app) { app.get('/wild', function(req, res) { res.send('wolf, fox, eagle'); }) }
and in app.js: app.use(function () {}) used define middlewares. here call
var routes = require('./controllers/requests') (app);
edit
please find here below recap answer comments:
server.js
var http = require('http'); var app = require('./app') (); http.createserver(app).listen(app.get('port'), function(err){ console.log('express server listening on port ' + app.get('port')); });
app.js
module.exports = function() { var express = require('express'), app = express(); app.set('port', process.env.port || 3000); require('./controllers/requests')(app); return app; }
requests.js
module.exports = function (app) { app.get('/wild', function(req, res) { res.send('wolf, fox, eagle') }); }
hope helps!
Comments
Post a Comment