koa 中如何将moment集成到全局?让每个模板都能直接方法?
在express中可以这样,每个模版里面就可以调用了
app.use(views(__dirname + '/views', {
extension:'ejs',
locals:{
moment: moment
}
})
)
在koa中如何集成呢?
7 回复
搞定了
a.use(convert(function* (next){
this.state = {
moment: moment
}
yield *next
}))
这样就可以在模版中使用{{ moment()}}了
新手还真不知道怎么全局 一般都是直接使用了~
const moment = require(‘moment’); global.moment = moment;
这样就是全局变量了
@welefen lz 是要在模板中使用,这个只能在 Node 端使用吧
@fantasy 模板中就传进去吧~
呃 不是有一个 app.locals 吗。。。哦,看错了我还以为是 Express
global虽然可以全局,但是需要每次渲染模板都要注入进去,不是那么方便。 一 下方式不需要在渲染的时候注入,这个交个koa去处理了,在写模板的时候就不用考虑了,这样我还可以默认注入一些其它的处理 方便多了。
app.use(convert(function* (next){
this.state = {
moment: moment
}
yield *next
}))