如何使用快递从单独的文件创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.. }
所以这里是你做错了什么
- 您不需要路由应用程序/路由并将其用作中间件
- 您必须在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.. }
请让我知道如果这解决了你的问题