91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

解決koa2 ctx.render is not a function報錯問題

發布時間:2020-10-23 04:16:04 來源:腳本之家 閱讀:400 作者:wopelo 欄目:web開發

最近在學習使用koa2,在嘗試用koa2復寫之前用express寫的一個入口文件的時候發現命令行報錯ctx.render is not a function

解決koa2 ctx.render is not a function報錯問題 

項目路徑如下

解決koa2 ctx.render is not a function報錯問題 

app.js是之前用express寫的入口文件

koa.js是用koa2復寫的入口文件

view是前端頁面文件夾,使用的模板引擎是pug

報錯時koa.js代碼如下

//使用koa復寫入口文件
const Koa = require('koa');
const Router = require('koa-router');
const koaBody = require('koa-body');
const views = require('koa-views');
const serve = require('koa-static');

const app = new Koa();
const router = new Router();

app.use(serve(__dirname));
app.use(koaBody()).use(router.routes());
app.use(views(__dirname + '/views/pages',{
  extension: 'pug'
}))

app.listen(3000);

router.get('/', async(ctx, next) => {
  await ctx.render("index",{
    title:"nodeWeb 首頁"
  })
});

其實這個bug很好解決,那就是把配置模板引擎的代碼移動到所有與路由相關的代碼之前,在這里就應該修改為

//使用koa復寫入口文件
const Koa = require('koa');
const Router = require('koa-router');
const koaBody = require('koa-body');
const views = require('koa-views');
const serve = require('koa-static');

const app = new Koa();
const router = new Router();

app.use(serve(__dirname));
//配置模板引擎
app.use(views(__dirname + '/views/pages',{
  extension: 'pug'
}))
//使用koa-router
app.use(koaBody()).use(router.routes());

app.listen(3000);

//設置路由
router.get('/', async(ctx, next) => {
  await ctx.render("index",{
    title:"nodeWeb 首頁"
  })
});

造成這個bug的原因是因為中間件的執行是有順序的,路由在前,然后模板引擎在后的話,當執行到ctx.render的時候,模板引擎相關的中間件還未執行,render方法還未綁定到ctx上,所以就會報ctx.render is not a function

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

五华县| 江华| 怀柔区| 宁城县| 靖远县| 双流县| 定兴县| 房产| 平塘县| 瓮安县| 西充县| 福建省| 土默特左旗| 玉田县| 宁安市| 榆林市| 衡东县| 焉耆| 许昌市| 乌拉特后旗| 东至县| 弥勒县| 阜宁县| 米易县| 泊头市| 芜湖市| 南宁市| 天全县| 忻州市| 锡林郭勒盟| 米林县| 高平市| 思茅市| 翁牛特旗| 开鲁县| 瓮安县| 喀喇| 镇巴县| 岳阳市| 新沂市| 柞水县|