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 :
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
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 }
Merci pour vos éventuelles suggestions.
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
Partager