NodeJS通过一个路由文件表达多个路由文件

时间:2016-12-16 10:29:34

标签: node.js express

我正在学习NodeJS。我有一个nodeJS API项目。我想在路由中使用版本,所以我创建了以下文件夹结构。

application/    
    --app.js
    --routes/
    ----V1/
    ------routes.js
    ------users.js

这是我的app.js文件:

 var v1 = require('./routes/v1/route');

 app.use('/api/v1', v1.router);

这是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;

users.js文件:

var express = require('express');
var router = express.Router();
router.get('/',function(req,res){    
    res.send("Get all users.");
});


module.exports.router = router;

现在我如何通过route.js文件调用用户。

2 个答案:

答案 0 :(得分:6)

您应该创建一次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;

模块文件 (任何模块用户,评论等)

//initialize
module.exports = function (router) {
    router.get('/users', users);
}

//APIs
function users(req, res) {    
    res.send("Get all users.");
}

答案 1 :(得分:5)

我做的与@Shaharyar有点不同

<强> routes.js

  <div class="holder">
    <div class="image"></div>
  </div>


html,body {
  margin:0px;
  padding:0px;
  height:100%;
  width:100%;
} 
.holder {
  width:100%;
  height:100%; 
  background-color:black;
  overflow: hidden;
}
.image {
  width:100%;
  height:100vh;   
  background-image: url(http://lorempixel.com/output/nature-q-c-884-338-5.jpg);
  background-attachment: fixed;
  background-size: cover;
  background-position: center; 
  transform: scale(1.25);    
}

<强> users.js

data _null_;
dt = date();
year = put(year(dt),4.);
curr_month = put(month(dt),2.);
call symput('year',year);
call symput('curr_mon',curr_month);
run;
put &year;
put &curr_mon;

为简化起见,我将array[arraySize] = // insert array here; ranks[arraySize]; for (int i = 0; i < arraySize; i++){ int indexRank = 0; for (int j = 0; j < arraySize; j++){ if (array[j] < array[i]){ indexRank++; } } if (array[i] <= 0) { ranks[i] = -1 // or whatever implementation you want here } else { ranks[i] = indexRank; } } 放在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; 上并执行。

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;

对于route.js文件也是如此,然后在您的server.js或任何地方:

.router