如何使用快递从单独的文件创build客户端的API?

我是新的nodejs,我想处理所有的路线和api从app / routes.js,我有路由器,我正在使用获取和发布的客户端。 我没有看到从服务器到客户端的任何反应与下面的代码,任何想法?

app.js

var express = require('express'); var app = express(); var server = require('http').createServer(app); var io = require('./app/io').initialize(server); var ditconsumer = require('./app/consumers/ditconsumer'); ditconsumer.start(server); server.listen(3000, function () { console.log('Example app listening on port 3000!'); //stconsumer.start(); }); 

应用程序/ routes.js

 var express = require('express'); var router = express.Router(); var dirDirectory = require('./app/serverfiles/ditDir'); module.exports = function(app){ router.get('/getAllFiles',function(req,res){ dirDirectory.readDirectory(function(logFiles){ res.json(logFiles); console.log(logFiles); }); }); //other routes.. } 

所以这里是你做错了什么

  1. 您不需要路由应用程序/路由并将其用作中间件
  2. 您必须在app / routes.js中导出路由器

这里是你改变的代码,请尝试一下,我知道它是否有帮助

 var express = require('express'); var app = express(); var myroute=require('./app/routes.js'); app.use(myroute); var server = require('http').createServer(app); var io = require('./app/io').initialize(server); var ditconsumer = require('./app/consumers/ditconsumer'); ditconsumer.start(server); server.listen(3000, function () { console.log('Example app listening on port 3000!'); //stconsumer.start(); }); 

应用程序/ routes.js

  var express = require('express'); var router = express.Router(); var dirDirectory = require('./app/serverfiles/ditDir'); router.get('/getAllFiles',function(req,res){ dirDirectory.readDirectory(function(logFiles){ res.json(logFiles); console.log(logFiles); }); }); module.exports=router; //other routes.. } 

请让我知道如果这解决了你的问题