2017-01-20 10 views
0

Ich möchte einige Umgebungsvariablen von einem Koa-Server an den Client übergeben. In Express konnte ich etwas wie res.render('index', { data: 'someData' }); tun und dann konnte ich auf data zugreifen. In Koa kann ich nicht sehen, wie das geht. Es erwähnt context.state, aber ich kann kein Beispiel finden, wie man das im Client abruft.Koa übergeben Daten vom Server zum Client

+0

Vielleicht verwenden Sie etwas wie https://www.npmjs.com/package/koa-locals –

Antwort

1

Sie können etwas Ähnliches in Koa tun, Sie müssen nur die richtige Middleware verwenden. Probieren Sie koa-views aus, wenn Sie eines der supported engines verwenden. Hier

ist ein vollständiges Beispiel (in diesem Beispiel wird davon ausgegangen Sie verwenden Koa v1 und EJS als Template-Engine):

app.js

const Koa = require('koa') 
const views = require('koa-views') 
const router = require('./routes') 

const app = new Koa() 

app.use(views(__dirname + '/views', { extension: 'ejs' })) 
app.use(router.routes()) 
app.use(router.allowedMethods()) 

app.listen(3000) 

routes.js

const router = require('koa-router')() 

router.get('/', function *() { 
    yield this.render('index', { title: 'Home' }) 
}) 

router.get('/about', function *() { 
    yield this.render('about', { title: 'About' }) 
}) 

module.exports = router 

Ändern Sie einfach das extension-Argument, das Sie basierend auf der Middleware übergeben Templating-Engine, die Sie verwenden.

Verwandte Themen