摘要:框架,用官網(wǎng)的簡介來說就是是構(gòu)建應(yīng)用程序和服務(wù)的豐富框架,它使開發(fā)人員能夠?qū)W⒂诰帉懣芍赜玫膽?yīng)用程序邏輯,而不是花時間構(gòu)建基礎(chǔ)設(shè)施。用自己的話簡單來說,就是個類似,之類的服務(wù)基礎(chǔ)框架。
路由匯總hapi框架,用官網(wǎng)的簡介來說就是:Hapi是構(gòu)建應(yīng)用程序和服務(wù)的豐富框架,它使開發(fā)人員能夠?qū)W⒂诰帉懣芍赜玫膽?yīng)用程序邏輯,而不是花時間構(gòu)建基礎(chǔ)設(shè)施。
用自己的話簡單來說,就是個類似express,koa之類的node服務(wù)基礎(chǔ)框架。
此篇博客是在閱讀過掘金小冊的《基于 hapi 的 Node.js 小程序后端開發(fā)實(shí)踐指南》并實(shí)踐操作后,以此記錄實(shí)踐過程和踩過的坑。感興趣讀者可支持閱讀掘金小冊原版的內(nèi)容。
1. 在./routes目錄下新建index.js 作為路由的匯總,這樣以后只管在./routes下新建文件即可
"use strict"; const fs = require("fs"); const path = require("path"); const basename = path.basename(__filename); // 當(dāng)前文件名 let routeArr = []; // 同步讀取當(dāng)前目錄,并過濾除了當(dāng)前文件的文件名數(shù)組 fs.readdirSync(__dirname) .filter(file => { // 過濾掉隱藏文件、當(dāng)前文件、非js文件, 返回當(dāng)前目錄下文件名稱數(shù)組 return ( file.indexOf(".") !== 0 && file !== basename && file.slice(-3) === ".js" ); }) .forEach(file => { // 引入路由模塊 let arr = require(path.join(__dirname, file)); // 匯總 routeArr.push(...arr); }); module.exports = routeArr;測試路由
1.新建test.js文件作為測試
const GROUP_NAME = "test"; module.exports = [ // 純測試返回 接口 { method: "GET", path: `/${GROUP_NAME}`, handler: (request, h) => { const data = { message: "test" }; // 響應(yīng)數(shù)據(jù)方式: // return h.response(data).code(200); return data; } }, ]
2.修改app.js
3.瀏覽測試結(jié)果接口文檔Swagger
1.了解swagger這個hapi插件是筆者認(rèn)為強(qiáng)大好用的工具,可以根據(jù)路由給的config配置,自己生成對應(yīng)的接口文檔、測試接口數(shù)據(jù) 以及 配合Joi插件來校驗(yàn)數(shù)據(jù)
2.安裝swagger相關(guān)依賴
npm i hapi-swagger inert vision package
3.編寫配置插件在./plugins 目錄下新建hapi-swagger.js可參考官方示例
const hapiSwagger = require("hapi-swagger"); const inert = require("inert"); const vision = require("vision"); const package = require("package"); module.exports = [ inert, vision, { plugin: hapiSwagger, options: { info: { title: "接口文檔", // 文檔的標(biāo)題 version: package.version // 文檔的版本 }, // 定義接口以tags屬性為分類【定義分類的大標(biāo)題】,給./routes路由的配置config:tags使用 grouping: "tags", // 標(biāo)簽,用于對應(yīng)路由config定義的tags進(jìn)行歸類 tags: [ { name: "test", description: "測試相關(guān)" } ], lang: "zh-cn" // 文檔語言 } } ];
4.app.js入口文件配置swagger插件
5.訪問接口文檔訪問地址:http://localhost:3000/documentation
6.路由配置生產(chǎn)測試接口修改測試路由文件 ./routes/test.js
再次訪問文檔地址
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/103939.html
摘要:好了,項(xiàng)目啟動了,目錄結(jié)構(gòu)也清楚了,接下來就是整個現(xiàn)有項(xiàng)目的遷移了目前正在改造項(xiàng)目,文章尚未寫完,會抽時間不定期的繼續(xù)更新項(xiàng)目的改造過程及分享改造過程中遇到的問題 公司項(xiàng)目,最初只為了實(shí)現(xiàn)前后端分離式開發(fā),直接選擇了vue框架進(jìn)行開發(fā),然而現(xiàn)在項(xiàng)目基本完成了,發(fā)現(xiàn)蜘蛛根本就抓取不到網(wǎng)站數(shù)據(jù),搜索引擎搜出來,都是一片空白沒有數(shù)據(jù),需要對項(xiàng)目做SEO優(yōu)化。 本人第一次接觸SEO的優(yōu)化,完全...
摘要:框架,用官網(wǎng)的簡介來說就是是構(gòu)建應(yīng)用程序和服務(wù)的豐富框架,它使開發(fā)人員能夠?qū)W⒂诰帉懣芍赜玫膽?yīng)用程序邏輯,而不是花時間構(gòu)建基礎(chǔ)設(shè)施。用自己的話簡單來說,就是個類似,之類的服務(wù)基礎(chǔ)框架。同時全局環(huán)境直接獲取。 showImg(https://segmentfault.com/img/bVbrV3m?w=572&h=350); hapi框架,用官網(wǎng)的簡介來說就是:Hapi是構(gòu)建應(yīng)用程序和...
閱讀 1922·2021-10-11 10:59
閱讀 1032·2021-09-07 09:59
閱讀 2225·2021-08-27 16:17
閱讀 2782·2019-08-30 15:54
閱讀 2273·2019-08-30 12:58
閱讀 1772·2019-08-30 12:53
閱讀 1464·2019-08-28 18:13
閱讀 732·2019-08-26 13:35