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

Popular posts from this blog

angularjs - ADAL JS Angular- WebAPI add a new role claim to the token -

php - CakePHP HttpSockets send array of paramms -

node.js - Using Node without global install -