puoi inserire tutte le funzioni del percorso in altri file (moduli) e collegarlo al file del server principale. nel file espresso principale, aggiungi una funzione che collegherà il modulo al server:
function link_routes(app, route_collection){
route_collection['get'].forEach(route => app.get(route.path, route.func));
route_collection['post'].forEach(route => app.post(route.path, route.func));
route_collection['delete'].forEach(route => app.delete(route.path, route.func));
route_collection['put'].forEach(route => app.put(route.path, route.func));
}
e chiama quella funzione per ciascun modello di percorso:
link_routes(app, require('./login.js'))
nei file del modulo (ad esempio il file login.js), definire le funzioni come al solito:
const login_screen = (req, res) => {
res.sendFile(`${__dirname}/pages/login.html`);
};
const forgot_password = (req, res) => {
console.log('we will reset the password here')
}
ed esportarlo con il metodo di richiesta come chiave e il valore è un array di oggetti, ognuno con i tasti path e funzione.
module.exports = {
get: [{path:'/',func:login_screen}, {...} ],
post: [{path:'/login:forgotPassword', func:forgot_password}]
};