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.終端運行項目

圖片描述

6.瀏覽器測試效果

圖片描述

目錄結構劃分javascript

(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.示例獲取

clipboard.png

4.效果

clipboard.png

相關文章
相關標籤/搜索