2017-01-20 116 views
0

我想从Koa服务器传递一些环境变量到客户端。在表达我可以做一些像res.render('index', { data: 'someData' });然后我可以访问data。在科阿我看不到如何做到这一点。它提到使用context.state,但我找不到任何如何在客户端检索这个示例。Koa将数据从服务器传递到客户端

+0

也许使用类似https://www.npmjs.com/package/koa-locals –

回答

1

你可以在Koa做类似的事情,你只需要使用正确的中间件。如果您使用supported engines之一,请尝试koa-views

下面是一个完整的例子(这个例子假设你使用兴亚v1和EJS为你的模板引擎):

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 

只需将您传递给中间件的参数extension更改为基于此参数您正在使用的模板引擎。

相关问题