La mia app utilizza Node.js e Express 4 e ha il seguente codice nel file app.js che si trova nella directory root:
var express = require('express');
var index = require('./routes/index');
var users = require('./routes/users');
var app = express();
app.use('/', index);
app.use('/users', users);
La cartella routes nella directory root contiene un file index.js con il seguente codice:
var express = require('express');
var router = express.Router();
router.get('/', function (req, res, next) {
res.render('index');
});
module.exports = router;
La cartella routes contiene anche un file users.js con il seguente codice:
var express = require('express');
var router = express.Router();
router.get('/', function (req, res, next) {
res.render('users');
});
module.exports = router;
Sono nuovo di Express e Node.js. Mi risulta che questa struttura porti le richieste del browser a domainName.com per eseguire il file index.js , mentre le richieste a domainName.com/users eseguiranno il file users.js , con la conseguente visualizzazione di diverse visualizzazioni nel browser.
Qual è lo scopo di organizzare il codice in questo modo? (ad esempio, perché app.use() in app.js viene utilizzato per isolare ogni router.get(path, callback) nel suo rispettivo modulo?)
La pratica comunemente accettata è quella di organizzare percorsi in modo diverso per un'app singola pagina rispetto a un sito Web costituito prevalentemente da testo statico, ad esempio un blog? Se sì, come?