摘要:個人比較喜歡渲染,不喜歡之類,因此在試驗開發時,第一時間就想到集成模塊模塊來自問題是,該模塊不支持,就支持那么咱就出動模塊來進行轉換可是,仍然有問題。
個人比較喜歡handlebars渲染,不喜歡ejs、jade之類,因此在試驗koa2開發時,第一時間就想到集成koa-hbs模塊!
koa-hbs模塊來自https://github.com/gilt/koa-hbs
問題是,該模塊不支持koa2,就支持koa1
那么咱就出動koa-convert模塊來進行轉換……可是,仍然有問題。關鍵點在于ctx.render方法仍然是個generator函數。
這難不倒咱,翻一下koa-convert模塊的源碼,有樣學樣,用下面的辦法解決之:
const hbs = require("koa-hbs"); const convert = require("koa-convert"); const co = require("co"); app.use(convert(hbs.middleware({ viewPath: __dirname + "/views", partialsPath: __dirname + "/views/partials" }))); app.use(async (ctx, next) => { ctx.render_ = ctx.render; ctx.render = function (tpl, locals) { return co.call(ctx, ctx.render_(tpl, locals)); } await next(); })
另外,如果不用koa-hbs模塊,而是用支持koa2的koa-views模塊,必須用最新的5.1.2版本(此文章發表時的最新版本),或更高的版本:
npm i koa-views@5.1.2
我在一開始時使用npm i koa-views@next命令安裝,結果不是最新版本,被坑了。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/80733.html
摘要:注意網站中用的所有技術可以交流學習不要以線上環境運行,因為源碼中沒有包含相關文件中的,授權登陸需要自己配置賬號密碼只有讀取權限交流群 前言 線上環境小包總 showImg(https://segmentfault.com/img/bVTvhf?w=1297&h=763); 技術棧 服務器: node、koa2 客戶端: vue、vuex、vue-router、Element-UI 數...
摘要:注意網站中用的所有技術可以交流學習不要以線上環境運行,因為源碼中沒有包含相關文件中的,授權登陸需要自己配置賬號密碼只有讀取權限交流群 前言 線上環境小包總 showImg(https://segmentfault.com/img/bVTvhf?w=1297&h=763); 技術棧 服務器: node、koa2 客戶端: vue、vuex、vue-router、Element-UI 數...
摘要:定義框架前端開發框架,它是一款基于語法的網頁端開發框架。它類似于框架,可以快速開發服務,方便快捷。 定義 koa框架 web前端開發框架,它是一款基于es6語法的網頁端開發框架。它類似于express框架,可以快速開發服務,方便快捷。 api手冊http://koa.bootcss.com/ 開發實戰篇 首先,創建package.json 使用版本為1.x npm init #依賴 d...
摘要:實現的四大模塊上文簡述了源碼的大體框架結構,接下來我們來實現一個的框架,筆者認為理解和實現一個框架需要實現四個大模塊,分別是封裝創建類構造函數構造對象中間件機制和剝洋蔥模型的實現錯誤捕獲和錯誤處理下面我們就逐一分析和實現。 什么是koa框架? ? ? ? ?koa是一個基于node實現的一個新的web框架,它是由express框架的原班人馬打造的。它的特點是優雅、簡潔、表達力強、自由度...
閱讀 1016·2021-09-26 09:55
閱讀 3556·2021-09-24 10:30
閱讀 1364·2021-09-08 09:36
閱讀 2553·2021-09-07 09:58
閱讀 604·2019-08-30 15:56
閱讀 765·2019-08-29 18:32
閱讀 3594·2019-08-29 15:13
閱讀 1840·2019-08-29 13:49