如何分隔路径文件?

时间:2017-06-09 18:06:42

标签: node.js express

我的项目中有一个路径文件,我的应用程序使用这些行调用它:

var index = require('./routes/index');

app.use('/', index);

但我需要分开路径文件,我正在尝试这样做:

var index = require('./routes/index');
var user = require('./routes/user');

app.use('/', index);
app.use('/user', user);

在路线 user.js 中,我从客户端放置了我需要访问的服务。但它不起作用。我不知道出了什么问题,我是Node.js的初学者。

请求返回:

GET /user/find 304 4.203 ms - -

user.js文件是:

var router = express.Router();

router.get('/user/find',function(req, res){
   Object.find(function(err, s){
       if(err) res.send(err);
       res.json(s);
    });     

});

module.exports = router;

*此请求适用于 index.js

3 个答案:

答案 0 :(得分:0)

执行此操作的简单方法可以是:

index.js

var express = require('express')
var app = express()

var route1 = require('./route1')
var route2 = require('./route2')

app.use('/', route1);
app.use('/hello', route2);


app.listen(3000, function () {
  console.log('Example app listening on port 3000!')
})

route1.js

var express = require('express')
var router = express.Router()

router.get('/', function (req, res) {
  res.send('Hello route1');
})

module.exports = router

route2.js

var express = require('express')
var router = express.Router()

router.get('/', function (req, res) {
  res.send('Hello route2');
})

module.exports = router

答案 1 :(得分:0)

您确定在每个路径文件的末尾添加了module.exports = router吗?

您的路线文件应该如此设置:

var router = require('express').Router();
router.get("/example", function (req, res) {
  res.send("Hello");
});
module.exports = router;

答案 2 :(得分:0)

您将用户路由器放在/user路由下,并在您定义为app.get('/user/find')的用户路由器中,因此实际路径为/user/user/find,您需要删除user路由器中的前缀

var router = express.Router();

router.get('/find',function(req, res){
   Object.find(function(err, s){
       if(err) res.send(err);
       res.json(s);
   });     

});

module.exports = router;