2016-04-20 14 views
2

私はexpress js 4.0を学んでおり、コンパクトCRUD REST API Webアプリケーションを構築しています。このチュートリアルでは、2つの方法を示します。アプリを使用してルータを使用しています。私にルータvs app in express 4.0

//using router 
    var router = express.Router(); 
    router.get('/', function(req,res){ 
    res.send('hello, world') 
    }); 

//using app 
    app.get('/', function(req,res){ 
    res.send('hello, world') 
    }); 

、私は彼らが同じ動作しますが、人々がrouterを使用する理由私は知らない、私はappを使用すると、よりシンプルだと思う感じます。誰も彼らの違いは何か説明できますか?

答えて

4

モジュール性があります。多くの人はルートハンドラをすべて保持しているルートフォルダを持っています。そのapp.jsファイルでは、彼らはapp.use(<prefix>, <routes>)のような何かをします。彼らの後にrequireルータ。ファイルのサイズを小さくして整理します。

例:

app.js

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

var app = express(); 

app.use('/', rootRoutes); 
app.use('/user', userRoutes); 

module.exports = app; 

ルート/ index.js

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

router.get('/', function(req, res) { 
    res.render('index.jade'); 
}); 

router.get('/about', function(req, res) { 
    res.render('about.jade'); 
}); 

module.exports = router; 

ルート/ user.jsの

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

router.get('/:name', function(req, res) { 
    var userName = req.params.name; 
    res.render('user.jade', { 
    userName: userName 
    }); 
}); 

module.exports = router; 
+0

シンプルですが非常に優れた説明です。ありがとうございました – jaykodeveloper