因为项目要求特殊的原因,公司要求使用Nodejs+HApi(纯英文的API)+Mysql构建新的项目。网上找了一堆资料,看了半天一脸懵逼。结论就是:版本的差异,资料国内几乎都是旧的17年前的了。根据资料和文档记录了整个环境的搭建过程。

1、环境配置

  • 这里我用的 windows10+VsCode+NodeV8.1
  • 先创建项目文件夹,打开磁盘新建目录‘HapiToMysql’,用作于项目文件夹,输入命令进入目录。

  • 初始化项目,命令如下:
npm init

然后根据实际情况输入具体参数,具体参考nodejs,这里狂按回车带过,项目初始化成功,产生配置文件‘package.json’,这里入口文件默认为‘Index.js’该名为‘Server.js’,增加npm start启动配置

 

  • 项目基础初始化
 npm install hapi          //安装hapi
npm install hapi-swagger //hapi文档自动生成
npm install mysql2 //数据库操作
npm install inert //静态文件处理
npm install joi //验证插件
npm install vision //母版渲染
npm install require-directory //文件遍历
npm install sequelize //查询实例
  • 上面只是初始化了项目环境,仅仅是一个开始,HapiToMysql 项目结构如下:

  • 打开启动配置文件‘server.js’,输入代码
 const Hapi = require('hapi');
const Server = new Hapi.Server({ host: 'localhost', port: 8090 }); const Init = async () => {
await Server.start();
console.log(`Server running at: ${Server.info.uri}`);
}; process.on('unhandledRejection', (err) => { console.log(err);
process.exit(1);
});
Init();

  

  输入Node启动命令(需进入项目文件):npm start

  系统将会显示:Server running at: http://localhost:8090

  把地址输入到浏览器:

  

  404,找不到路由

  未完.... 下篇介绍路由配置

Hapi+MySql项目实战环境初始化(一)的更多相关文章

  1. Hapi+MySql项目实战路由初始化(二)

    配置路由规则 将路由文件放在routes文件夹里,修改‘Server.js’文件,增加如下代码: 我们这里指明了require('./routes') routes文件夹,require可以文件但是不 ...

  2. Hapi+MySql项目实战配置插件-加载文件渲染母版(三)

    加载插件 一般在其它node框架下,我们安装好插件直接require('插件')就能正常使用了,但是在Hapi下我们必须要Server.register()方法,才能正常使用插件.举个例子: serv ...

  3. Hapi+MySql项目实战自动化文档生成(四)

    自动化生成swagger文档 使用hapi插件hapi-swagger,简单配置下插件,先修改下plugin_config.js文件: //plugin_config.js const Swagger ...

  4. Hapi+MySql项目实战数据库操作(四)

    数据库访问 下面以Node的ORM框架Sequelize来操作数据库,Mysql为例. 配置数据库连接信息config/db_config.js: //db_config.js module.expo ...

  5. Selenium Web 自动化 - 项目实战环境准备

    Selenium Web 自动化 - 项目实战环境准备 2016-08-29 目录 1 部署TestNG  1.1 安装TestNG  1.2 添加TestNG类库2 部署Maven  2.1 mav ...

  6. 海量数据MySQL项目实战

    主要内容包含 MySQL 典型数据库架构介绍.MySQL 主流数据库架构对比等理论性知识,然后从“订单.用户”两个项目实战,抛砖引玉,介绍亿级互联网业务数据库项目如何设计. MySQL 典型数据库架构 ...

  7. 嵌入式web服务器BOA+CGI+HTML+MySQL项目实战——Linux

    准备环境操作系统: Ubuntu12.04 LTS环境搭建: 需要 BOA,Apache,CCGI,MySQL,GCC[Linux下嵌入式Web服务器BOA和CGI编程开发][数据库的相关知识——学习 ...

  8. vue项目windows环境初始化

    下载nodejs zip包并加载到环境变量 nodejs的版本最好使用12版,而不是最新版 npm install webpack -gnpm install -g yarnyarn config s ...

  9. Java Drp项目实战—— 环境搭建

    概要 我们要開始一个关于Java项目的开发,那么我们就须要搭建一个关于Java开发的环境,那么搭建一个Java开发环境,都须要些什么东东,又有些什么注意事项呢. 过程 我先将我搭建Java环境的软件和 ...

随机推荐

  1. 深入理解 Java 并发锁

    本文以及示例源码已归档在 javacore 一.并发锁简介 确保线程安全最常见的做法是利用锁机制(Lock.sychronized)来对共享数据做互斥同步,这样在同一个时刻,只有一个线程可以执行某个方 ...

  2. axios中请求传值方式

    日常开发中与后端联调,可能需要的数据不同,所传值也有所不同 1.如果是data方式,设置请求头为:并且直接返回data就可以  raw axios.defaults.headers['Content- ...

  3. ES6的Object.assign()基本用法

    Object.assign方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target). 例如: const target = {a:1}, const source1 ...

  4. Java框架之Spring02-AOP-动态代理-AspectJ-JdbcTemplate-事务

    AOP 动态代理 代理设计模式的原理:使用一个代理将原本对象包装起来,然后用该代理对象”取代”原始对象.任何对原始对象的调用都要通过代理.代理对象决定是否以及何时将方法调用转到原始对象上. 代理模式的 ...

  5. 初探ASP.NET Core 3.x (1) - 关于ASP.NET Core

    I 什么是ASP.NET Core ASP.NET is an open source web framework, created by Microsoft, for building modern ...

  6. 【Java并发基础】加锁机制解决原子性问题

    前言 原子性指一个或多个操作在CPU执行的过程不被中断的特性.前面提到原子性问题产生的源头是线程切换,而线程切换依赖于CPU中断.于是得出,禁用CPU中断就可以禁止线程切换从而解决原子性问题.但是这种 ...

  7. wtforms 钩子函数

    参考: https://www.cnblogs.com/wupeiqi/articles/8202357.html class LoginForm(Form): name = simple.Strin ...

  8. Linux下Tomcat,mysql安装包及教程整合,

      前段时间孔老师给了一个虚拟机,自己瞎捣鼓,装了Tomcat和mysql,捣鼓了好几天,把一些安装包和试过还不错的博客整理出来:  老师给的已经装好了Linux系统和JDK. Tomcat9安装包 ...

  9. NOI2.5 1253:Dungeon Master

    描述 You are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is composed of ...

  10. Windos下的一些命令集合

    由于在CMD模式下(也就是命令行)有较多的有用的命令.以下是自己平时所记录下来的以帮助平时的任务. 1. 显示计算机的操作系统 wmic os get osarchitecture /value