我的项目中有一个路径文件,我的应用程序使用这些行调用它:
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
答案 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;