2017-05-20 1 views
0

저는 Node와 Koa2를 처음 사용 했으므로 나와 함께하시기 바랍니다.Nodejs Koa2 : TyperError : ctx.render가 함수가 아닙니다.

이 오류가 무엇입니까 : 나는 템플릿 엔진으로 ejs 사용하고

class HtmlRouter { 
    static async home(ctx) { 
     await ctx.render('index.ejs', {}); 
    } 
} 

:

TypeError: ctx.render is not a function

이 오류가 트리거됩니다 라인입니다.

내가 잘못했거나 누락 되었습니까?

답변

0

좋아요. 나는 이것을 내 자신으로 해결했습니다.

app.use(body()); 

app.use(mount('/api/v1', filmRouter.routes())); 
app.use(filmRouter.routes()); 
app.use(htmlRouter.routes()); 


app.use(views(__dirname + '/views', { 
    map: { 
     ejs: 'ejs' 
    } 
})); 

버그

는 미들웨어의 순서 때문이었다

내가이 있었다. 이 순서에서는 잘 작동 : 이전 코드에서 템플릿 엔진은 실행중인 한에 의존 미들웨어 후에 정의되는 상황을

app.use(body()); 

app.use(views(__dirname + '/views', { 
    map: { 
     ejs: 'ejs' 
    } 
})); 


app.use(mount('/api/v1', filmRouter.routes())); 
app.use(filmRouter.routes()); 
app.use(htmlRouter.routes()); 

알 수 있습니다.

관련 문제