hapi框架搭建纪录(一):初始化项目

《hapi框架搭建纪录(一):初始化项目》

  • 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.终端运转项目

《hapi框架搭建纪录(一):初始化项目》

6.浏览器测试结果

《hapi框架搭建纪录(一):初始化项目》

目次构造分别

(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

3.示例猎取

《hapi框架搭建纪录(一):初始化项目》

4.结果

《hapi框架搭建纪录(一):初始化项目》

    原文作者:东雄平
    原文地址: https://segmentfault.com/a/1190000019013041
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞