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