hapi是指hapijs,是一个基于nodejs的开发框架。根据hapi官网hapi官网连接首页介绍,hapi是一个深受开发者信任的简单、安全的框架。用最少的编码和开箱即用的功能来构建强大的可扩展的应用程序--“你的代码你作主。”前端
hapi的文档支持包括中英文在内的5种语言。目前的版本18.4。node
hapi在国外应用很普遍,有着丰富的生态。健全的文档、规范的代码风格、简单的模块和插件机制让hapi的扩展更加容易。git
hapi在国内应用不是很普遍。“藏在深山人未识”。本文经过快速建立一个博客项目API接口为例,来展现hapi的强大和简便。本文介绍hapi项目最基本的增删改查功能的实现,后期还会陆续推出文章介绍hapi项目的接口文档自动生成、数据验证、用户鉴权和文件上传等扩展功能,最后完成一个完整的开源项目示例。github
hapi-scaffold是github上的一个开源项目。hapi-scaffold不须要写一行代码就能够帮你构建一个标准的RESTful项目,包括MVC的项目结构,以及项目所需的所有代码。对于前端工程师来讲,这是一个提升工做效率的强大工具。mongodb
hapi-scaffold的连接:https://github.com/jeffsouza/hapi-scaffold数据库
在桌面建立一个posts
项目文件夹并进入项目目录。npm
cd desktop
mkdir posts
cd posts
复制代码
初始化项目:api
npm int
复制代码
全局安装hapi-scaffold
模块。安全
$ npm install hapi-scaffold -g
复制代码
安装hapi
和mongoose
模块。bash
$ npm i @hapi/hapi mongoose
复制代码
初始化hapi项目结构。
$ hapi-scaffold init
复制代码
hapi-scaffold 会自动帮咱们在项目目录下建立以下的hapi项目结构:
输入下面的命令会在config
文件夹下建立数据库连接文件dadabase.js
。
$ hapi-scaffold generate db:mongo
复制代码
dadabase.js
内容以下:
const mongoose = require('mongoose');
class Database {
static connect() {
mongoose.connect('URL', {useNewUrlParser: true});
}
}
module.exports = Database;
复制代码
将mongoDB的链接URL改为你本身的地址,如:
mongoose.connect('mongodb://localhost:27017/posts', {useNewUrlParser: true, useUnifiedTopology: true});
复制代码
输入如下命令来建立posts的模型、控制器、路由等文件。
$ hapi-scaffold scaffold post title:string:required content:string rating:number
复制代码
搞定!屏幕会显示:
Model created!
Service created!
Controller created!
Route created!
Route registered!
复制代码
基于hapi的posts的增删改查API就这样简单地生成了!
咱们再来看看项目的目录结构:
在命令行输入下面的代码来运行项目:
node .
复制代码
项目成功运行在指定的网址:
Listening on http://localhost:8000
复制代码
用postman先来添加两条数据:
用postman查询这两条数据:
用postman修改第二条数据:
用postman删除第二条数据:
如今第二篇博客被删除了:
是否是So easy ,So hapi?