我想将一些环境变量从Koa服务器传递给客户端 . 在表达中我可以做 res.render('index', { data: 'someData' }); 之类的事情然后我可以访问 data . 在Koa,我看不出怎么做 . 它提到使用 context.state 但我找不到如何在客户端中检索它的任何示例 .
res.render('index', { data: 'someData' });
data
context.state
您可以在Koa中执行类似的操作,只需使用正确的中间件即可 . 如果您正在使用supported engines之一,请尝试koa-views .
这是一个完整的示例(此示例假设您使用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 参数 .
extension
1 回答
您可以在Koa中执行类似的操作,只需使用正确的中间件即可 . 如果您正在使用supported engines之一,请尝试koa-views .
这是一个完整的示例(此示例假设您使用Koa v1和EJS作为模板引擎):
app.js
routes.js
只需根据您使用的模板引擎更改传递给中间件的
extension
参数 .