首页 文章

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

提问于
浏览
0

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

1 回答

  • 1

    您可以在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 参数 .

相关问题