0
我想從Koa服務器傳遞一些環境變量到客戶端。在表達我可以做一些像res.render('index', { data: 'someData' });
然後我可以訪問data
。在科阿我看不到如何做到這一點。它提到使用context.state
,但我找不到任何如何在客戶端檢索這個示例。Koa將數據從服務器傳遞到客戶端
我想從Koa服務器傳遞一些環境變量到客戶端。在表達我可以做一些像res.render('index', { data: 'someData' });
然後我可以訪問data
。在科阿我看不到如何做到這一點。它提到使用context.state
,但我找不到任何如何在客戶端檢索這個示例。Koa將數據從服務器傳遞到客戶端
你可以在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
更改爲基於此參數您正在使用的模板引擎。
也許使用類似https://www.npmjs.com/package/koa-locals –