Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 节点应用程序路由不工作_Javascript_Node.js_Express - Fatal编程技术网

Javascript 节点应用程序路由不工作

Javascript 节点应用程序路由不工作,javascript,node.js,express,Javascript,Node.js,Express,我是NodeJS的新手,我创建了以下3个文件,当保存应用程序时,我发现了一个错误 http.createServer(app).listen(**app.get('port')**, function(){ 错误未定义,不是函数 我使用nodemon,在终端中看到了错误 我想保留文件的结构(从不同的file-server.js启动服务器),因为我想使用TDD 这是文件 server.js var http = require('http'); app = require('./app');

我是NodeJS的新手,我创建了以下3个文件,当保存应用程序时,我发现了一个错误

http.createServer(app).listen(**app.get('port')**, function(){
错误未定义,不是函数 我使用nodemon,在终端中看到了错误

我想保留文件的结构(从不同的file-server.js启动服务器),因为我想使用TDD

这是文件

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'));
});
var routers = require('express')
    , router = express.Router()

router.get('/wild', function(req, res) {
    debugger;
    res.send('Wolf, Fox, Eagle')
})

module.exports = router
  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;

    }
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'));
});**
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'));
});
module.exports = function() {
   var express = require('express'),
      app = express();

    app.set('port', process.env.PORT || 3000);
    require('./controllers/requests')(app);
    return app;
}
module.exports = function (app) {
   app.get('/wild', function(req, res) {
      res.send('Wolf, Fox, Eagle')
 });
}
app.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'));
});
var routers = require('express')
    , router = express.Router()

router.get('/wild', function(req, res) {
    debugger;
    res.send('Wolf, Fox, Eagle')
})

module.exports = router
  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;

    }
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'));
});**
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'));
});
module.exports = function() {
   var express = require('express'),
      app = express();

    app.set('port', process.env.PORT || 3000);
    require('./controllers/requests')(app);
    return app;
}
module.exports = function (app) {
   app.get('/wild', function(req, res) {
      res.send('Wolf, Fox, Eagle')
 });
}
requests.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'));
});
var routers = require('express')
    , router = express.Router()

router.get('/wild', function(req, res) {
    debugger;
    res.send('Wolf, Fox, Eagle')
})

module.exports = router
  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;

    }
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'));
});**
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'));
});
module.exports = function() {
   var express = require('express'),
      app = express();

    app.set('port', process.env.PORT || 3000);
    require('./controllers/requests')(app);
    return app;
}
module.exports = function (app) {
   app.get('/wild', function(req, res) {
      res.send('Wolf, Fox, Eagle')
 });
}
更新 这是代码中的更新 app.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'));
});
var routers = require('express')
    , router = express.Router()

router.get('/wild', function(req, res) {
    debugger;
    res.send('Wolf, Fox, Eagle')
})

module.exports = router
  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;

    }
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'));
});**
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'));
});
module.exports = function() {
   var express = require('express'),
      app = express();

    app.set('port', process.env.PORT || 3000);
    require('./controllers/requests')(app);
    return app;
}
module.exports = function (app) {
   app.get('/wild', function(req, res) {
      res.send('Wolf, Fox, Eagle')
 });
}
requests.js **

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'));
});
var routers = require('express')
    , router = express.Router()

router.get('/wild', function(req, res) {
    debugger;
    res.send('Wolf, Fox, Eagle')
})

module.exports = router
  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;

    }
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'));
});**
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'));
});
module.exports = function() {
   var express = require('express'),
      app = express();

    app.set('port', process.env.PORT || 3000);
    require('./controllers/requests')(app);
    return app;
}
module.exports = function (app) {
   app.get('/wild', function(req, res) {
      res.send('Wolf, Fox, Eagle')
 });
}

您应该调用包含app的模块返回的函数

app = require('./app') ();
此外,在request.js文件中,您应该在应用程序实例上定义路由:

module.exports = function (app) {
   app.get('/wild', function(req, res) {
      res.send('Wolf, Fox, Eagle');
   })
}
而在app.js中: use(函数(){})用于定义中间件。给你打电话

var routes = require('./controllers/requests') (app);
编辑

请在下面的摘要中找到您的意见:

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'));
});
var routers = require('express')
    , router = express.Router()

router.get('/wild', function(req, res) {
    debugger;
    res.send('Wolf, Fox, Eagle')
})

module.exports = router
  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;

    }
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'));
});**
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'));
});
module.exports = function() {
   var express = require('express'),
      app = express();

    app.set('port', process.env.PORT || 3000);
    require('./controllers/requests')(app);
    return app;
}
module.exports = function (app) {
   app.get('/wild', function(req, res) {
      res.send('Wolf, Fox, Eagle')
 });
}
app.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'));
});
var routers = require('express')
    , router = express.Router()

router.get('/wild', function(req, res) {
    debugger;
    res.send('Wolf, Fox, Eagle')
})

module.exports = router
  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;

    }
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'));
});**
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'));
});
module.exports = function() {
   var express = require('express'),
      app = express();

    app.set('port', process.env.PORT || 3000);
    require('./controllers/requests')(app);
    return app;
}
module.exports = function (app) {
   app.get('/wild', function(req, res) {
      res.send('Wolf, Fox, Eagle')
 });
}
requests.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'));
});
var routers = require('express')
    , router = express.Router()

router.get('/wild', function(req, res) {
    debugger;
    res.send('Wolf, Fox, Eagle')
})

module.exports = router
  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;

    }
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'));
});**
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'));
});
module.exports = function() {
   var express = require('express'),
      app = express();

    app.set('port', process.env.PORT || 3000);
    require('./controllers/requests')(app);
    return app;
}
module.exports = function (app) {
   app.get('/wild', function(req, res) {
      res.send('Wolf, Fox, Eagle')
 });
}

希望这有帮助

您的
requests.js
无效-您正在使用未定义的
express
变量。请验证您是否正确复制了代码。@LeonidBeschastny谢谢我更改了打字错误,但还是出现了相同的错误…还有其他想法吗?我不知道您更改了哪种打字错误,但现在
requests.js
一团糟。首先,加载express并将其分配给
路由器
变量。然后,您使用未定义的
express
变量来定义另一个
router
变量。然后你在
路由器上调用
.get
,这实际上是一个express,而不是路由器。最后,您将导出
路由器
。您的
router
变量仍然未使用。您的
requests.js
仍然是一片混乱。你肯定应该使用一些linter来静态分析你的代码中的错误。看到你遇到的错误会非常有用。谢谢andre,我应该把app=require('./app')()?你能在重播中提供完整的代码吗(我发布的代码很短…),因为它有点让人困惑。你能帮我吗?我用你的评论更新了帖子,但是我仍然得到了错误,我错过了什么吗?