最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決koa2 ctx.render is not a function報(bào)錯(cuò)問題

 更新時(shí)間:2018年08月07日 11:14:21   作者:wopelo  
這篇文章主要介紹了解決koa2 ctx.render is not a function報(bào)錯(cuò)問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧

最近在學(xué)習(xí)使用koa2,在嘗試用koa2復(fù)寫之前用express寫的一個(gè)入口文件的時(shí)候發(fā)現(xiàn)命令行報(bào)錯(cuò)ctx.render is not a function

 

項(xiàng)目路徑如下

 

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

koa.js是用koa2復(fù)寫的入口文件

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

報(bào)錯(cuò)時(shí)koa.js代碼如下

//使用koa復(fù)寫入口文件
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 首頁(yè)"
  })
});

其實(shí)這個(gè)bug很好解決,那就是把配置模板引擎的代碼移動(dòng)到所有與路由相關(guān)的代碼之前,在這里就應(yīng)該修改為

//使用koa復(fù)寫入口文件
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);

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

造成這個(gè)bug的原因是因?yàn)橹虚g件的執(zhí)行是有順序的,路由在前,然后模板引擎在后的話,當(dāng)執(zhí)行到ctx.render的時(shí)候,模板引擎相關(guān)的中間件還未執(zhí)行,render方法還未綁定到ctx上,所以就會(huì)報(bào)ctx.render is not a function

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 淺談node.js中async異步編程

    淺談node.js中async異步編程

    本文嘗試結(jié)合Marc Fasel的指導(dǎo)思想和筆者的實(shí)踐經(jīng)驗(yàn)來(lái)介紹一些NodeJS的異步編程風(fēng)格,希望對(duì)NodeJS的初學(xué)者有所啟發(fā)。
    2015-10-10
  • 安裝Node.js并啟動(dòng)本地服務(wù)的操作教程

    安裝Node.js并啟動(dòng)本地服務(wù)的操作教程

    今天小編就為大家分享一篇安裝Node.js并啟動(dòng)本地服務(wù)的操作教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2018-05-05
  • node.js express中app.param的用法詳解

    node.js express中app.param的用法詳解

    express.js是nodejs的一個(gè)MVC開發(fā)框架,并且支持jade等多種模板。下面這篇文章主要給大家介紹了關(guān)于node.js express中app.param用法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-07-07
  • 詳解node nvm進(jìn)行node多版本管理

    詳解node nvm進(jìn)行node多版本管理

    這篇文章主要介紹了詳解node nvm進(jìn)行node多版本管理,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2017-10-10
  • 可能是全網(wǎng)最詳細(xì)的nodejs卸載和安裝教程

    可能是全網(wǎng)最詳細(xì)的nodejs卸載和安裝教程

    npm的中文意思為"node包管理器",是Node.js平臺(tái)的默認(rèn)包管理工具,會(huì)隨著Nodejs一起安裝,npm管理對(duì)應(yīng)node.js的第三方插件,下面這篇文章主要給大家介紹了關(guān)于nodejs卸載和安裝教程的相關(guān)資料,這可能全網(wǎng)最詳細(xì)的教程了,需要的朋友可以參考下
    2023-05-05
  • Node.js靜態(tài)文件服務(wù)器改進(jìn)版

    Node.js靜態(tài)文件服務(wù)器改進(jìn)版

    這篇文章主要介紹了Node.js靜態(tài)文件服務(wù)器改進(jìn)版的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • nodejs微信掃碼支付功能實(shí)現(xiàn)

    nodejs微信掃碼支付功能實(shí)現(xiàn)

    本片文章通過代碼示例給大家詳細(xì)講述了如何用nodejs寫出微信掃碼支付這個(gè)功能,有興趣的朋友可以參考下。
    2018-02-02
  • Node.js:模塊查找,引用及緩存機(jī)制詳解

    Node.js:模塊查找,引用及緩存機(jī)制詳解

    Node.js是一個(gè)基于Chrome?V8引擎的JavaScript運(yùn)行環(huán)境,它的模塊查找、引用和緩存機(jī)制是其重要的特性之一。本文將介紹Node.js的模塊查找、引用和緩存機(jī)制,以及如何利用這些機(jī)制來(lái)提高應(yīng)用程序的性能和可維護(hù)性。
    2023-03-03
  • node.js中的path.extname方法使用說(shuō)明

    node.js中的path.extname方法使用說(shuō)明

    這篇文章主要介紹了node.js中的path.extname方法使用說(shuō)明,本文介紹了path.extname的方法說(shuō)明、語(yǔ)法、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • 深入理解Node.js的HTTP模塊

    深入理解Node.js的HTTP模塊

    最近在工作中接觸到了Node.js標(biāo)準(zhǔn)庫(kù)提供了http模塊,所以這篇文章想總結(jié)下Node.js的HTTP模塊,方便大家和自己以后使用的時(shí)候參考借鑒。有需要的朋友們下面來(lái)一起看看吧。
    2016-10-10

最新評(píng)論

柳林县| 永宁县| 潮州市| 嘉黎县| 阿荣旗| 巩义市| 朝阳县| 都昌县| 彰化市| 南漳县| 广南县| 衢州市| 文登市| 雅安市| 麻江县| 轮台县| 定西市| 平乡县| 财经| 内黄县| 金沙县| 峨边| 承德县| 武城县| 兴国县| 敦化市| 济南市| 平泉县| 监利县| 瑞丽市| 长汀县| 正宁县| 迁安市| 琼海市| 敖汉旗| 文成县| 西乡县| 清徐县| 沙坪坝区| 芜湖市| 武冈市|