- hapi框架,用官网的简介来讲就是:Hapi是构建运用顺序和效劳的雄厚框架,它使开辟人员能够专注于编写可重用的运用顺序逻辑,而不是花时间构建基本设施。
- 用本身的话简朴来讲,就是个相似express,koa之类的node效劳基本框架。
- 此篇博客是在浏览过掘金小册的《基于 hapi 的 Node.js 小顺序后端开辟实践指南》并实践操纵后,以此纪录实践历程和踩过的坑。感兴趣读者可支撑浏览掘金小册原版的内容。
第一个helloworld
1.在新建项目目次中初始化设置文件
npm init
2.装置hapi
npm i hapi
3.全局装置热布置东西supervisor(相似nodemon)
npm install supervisor -g
4.新建app.js,可从官网案例中抄示例代码
'use strict';
const Hapi = require('hapi');
const init = async () => {
const server = Hapi.server({
port: 3000,
host: 'localhost'
});
server.route({
method: 'GET',
path:'/',
handler: (request, h) => {
return 'Hello World!';
}
});
await server.start();
console.log('Server running on %ss', server.info.uri);
};
process.on('unhandledRejection', (err) => {
console.log(err);
process.exit(1);
});
init();
5.终端运转项目
6.浏览器测试结果
目次构造分别
(PS: 根据需要能够将营业逻辑代码再分别到controllers层)
├── config # 项目设置目次
├── logs # 输出日记
├── migrations # 建立数据库文件
├── models # 数据库 model
├── node_modules # node.js 的依靠目次
├── plugins # 插件目次
├── routes # 路由目次
├── seeders # 初始化表数据文件
├── test # 测试类
├── utils # 东西类相干目次
├── .env # 设置文件
├── app.js # 项目进口文件
├── package.json # JS 项目工程依靠库
├── readme.md # 项目工程怎样被运用的申明手册
设置全局环境信息
1. env设置示例
设置env的意义在于,差别的环境下域名数据库等信息不一定一致,经由过程设置手腕加载读取更天真。同时全局环境直接猎取。
# 域名设置信息
HOST = 127.0.0.1
PORT = 3303
# MySQL 数据库衔接设置信息
MYSQL_HOST = 127.0.0.1
MYSQL_PORT = 3306
MYSQL_DB_NAME = database_name
MYSQL_USERNAME = database_username
MYSQL_PASSWORD = database_password
# JWT 自定义secret
JWT_SECRET = your_secret
# 微信小顺序设置
WX_APPID = your-app-id # 微信小顺序appid
WX_SECRET = your-secret # 微信小顺序暗码
WX_MCHID = your-mchid # 付出商户号
WX_PAY_API_KEY = your-pay-api-key # 微信付出的 api key
2.装置env2
经由过程此依靠可在js代码中直接读取.env设置的参数信息(如:读取端口号 process.env.PORT)
npm i env2