我正在学习NodeJS。我有一个nodeJS API项目。我想在路由中使用版本,所以我创建了以下文件夹结构。
application/
--app.js
--routes/
----V1/
------routes.js
------users.js
Run Code Online (Sandbox Code Playgroud)
这是我的app.js文件:
var v1 = require('./routes/v1/route');
app.use('/api/v1', v1.router);
Run Code Online (Sandbox Code Playgroud)
这是route.js文件:
var express = require('express');
var router = express.Router();
router.get('/',function(req,res){
res.send("Welcome to Node JS V1");
});
var courses = require('./users').router;
-- How to include usres route here
module.exports.router = router;
Run Code Online (Sandbox Code Playgroud)
users.js文件:
var express = require('express');
var router = express.Router();
router.get('/',function(req,res){
res.send("Get all users.");
});
module.exports.router = router;
Run Code Online (Sandbox Code Playgroud)
现在,我如何从route.js文件呼叫用户。
我会与@Shaharyar有所不同
routes.js
var express = require('express');
var router = express.Router();
router.get('/', function(req, res) {
res.send('Welcome to Node JS V1');
});
router.use('/users', require('./users').router);
module.exports.router = router;
Run Code Online (Sandbox Code Playgroud)
users.js
var express = require('express');
var router = express.Router();
router.get('/',function(req, res){
res.send('Get all users.');
});
router.post('/', function(req, res) {
// Create user
res.send('Some response.');
});
module.exports.router = router;
Run Code Online (Sandbox Code Playgroud)
为了简化它,我会.router继续module.exports做下去。
router.use('/users', require('./users'));
Run Code Online (Sandbox Code Playgroud)
同样对于route.js文件,然后在server.js或任何地方:
router.use('/api/v1', require('./routes'));
router.use('/api/v2', require('./routes2'));
Run Code Online (Sandbox Code Playgroud)
您应该创建一次Express实例,然后将其传递给所有模块。
route.js文件
//initialize
var express = require('express');
var router = express.Router();
router.get('/', function(req, res){
res.send("Welcome to Node JS V1");
});
//modules
require('./users')(router);
require('./sessions')(router); //added for explaination
require('./comments')(router); //added for explaination
//export
module.exports.router = router;
Run Code Online (Sandbox Code Playgroud)
模块文件 (任何模块用户,注释等)
//initialize
module.exports = function (router) {
router.get('/users', users);
}
//APIs
function users(req, res) {
res.send("Get all users.");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14068 次 |
| 最近记录: |