-
Cela dépend, mais oui, la plupart des personnes qui utilisent une bibliothèque frontend comme Vue ou React laissent la vue côté client et utilisent simplement le backend pour les requêtes API.
-
Vous pouvez utiliser koa-views
pour obtenir la fonctionnalité ctx.render
.
Exemple d'utilisation (J'ai inclus koa-router juste pour avoir un exemple complet) :
import Koa from 'koa'
import Router frmo 'koa-router'
import views from 'koa-views'
const app = new Koa()
app.use(views(path.join(__dirname, 'views'), { extension: 'pug' }))
Et ensuite dans vos gestionnaires de route, vous pouvez faire quelque chose comme :
router.get('/contacts', async ctx => {
ctx.render('all-contacts') // Rend le fichier `all-contacts.pug`
})
Je recommande d'utiliser un serveur de développement qui charge votre fichier HTML, et d'utiliser uniquement votre serveur API pour la gestion des requêtes. Vous pouvez envisager d'utiliser vue-cli pour générer un projet vue de départ. Vous voudrez essentiellement démarrer le serveur de développement sur un port (comme 3000) et votre serveur API sur un autre port (3001). Le serveur de développement chargera automatiquement votre fichier HTML et écoutera les changements du côté client. Vous devrez simplement configurer un proxy
pour envoyer toutes les requêtes API au serveur API depuis votre configuration webpack
.