Bonjour, je tente de me mettre à Node.js à travers le framework Express 4, mais en plus de la découverte d'un nouvel environnement j'ai des lacunes en javascript.

Il existe un générateur d’applications pour Express qui - s'il propose une base pour l'architecture d'une app - ne propose pas de découpage MVC : il sépare seulement les vues du reste de l'application entreposé dans un dossier "routes". Je cherche donc à désolidariser la logique métier du contrôleur.

J'y suis presque, mais je bloque sur un point. Voilà où j'en suis pour le fichier dédié aux requêtes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
// models/articles.js
 
const db = require('../database')
const getArticle = (req, res, next) => db.one('SELECT * FROM article WHERE id = $1', req.params.id)
  .then(data => {
    res.render('article', data) // -> je cherche à déplacer cette ligne dans le fichier "controllers/article.js"
  })
  .catch(error => {
    next()
  })
module.exports = { getArticle: getArticle }
Et mon fichier contrôleur pour les articles :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
// controllers/articles.js
 
const express = require('express')
const router = express.Router()
const { getArticle } = require('../models/article')
router.get('/article/:id([0-9]{1,7})', (req, res, next) => { // ex: '/article/1'
  getArticle(req, res, next)
  // <- c'est ici que je voudrais intégrer res.render(), à la place de la fonction getArticle(), mais je ne sais comment
})
module.exports = router
Merci pour vos éventuelles suggestions.