Koa将数据从服务器传递到客户端

时间:2017-01-20 17:20:25

标签: javascript node.js reactjs koa

我想将一些环境变量从Koa服务器传递到客户端。在表达中,我可以执行类似res.render('index', { data: 'someData' });的操作,然后我可以访问data。在Koa,我看不出怎么做。它提到使用context.state,但我找不到如何在客户端中检索它的任何示例。

1 个答案:

答案 0 :(得分:1)

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

以下是一个完整的示例(此示例假设您使用Koa 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参数。