node -- hapi 学习
node learning
学习node,是为了后续项目可以正常开展,现在写个项目,若不是连接后台,请求数据,一切都不叫着项目了。正好借助掘金的小册,来推进学习
学习资料
以下皆是按照掘金小册加上自己扩展一步步走过来的
hapi 学习
使用 hapi 时,对应的一些插件,由于插件很多,目前暂时写着用到的一些吧
hapi-swagger用来生成 接口文档, 地址服务地址/documentationenv2读取.env文件,可以用来配置文件joi数据结构校验sequelize用来连接数据库,请求数据,建表等都用到
报错
开发过程中,碰到的错误,加上自己一步步实践生成的
{"statusCode":400,"error":"Bad Request","message":"Invalid cookie value"}
启动服务,浏览器输入地址就发生错误,处理方式- 清除
cookie, 清除当前地址栏下的cookie可以解决 - github Solution
- 清除
- 使用
env2时,若是读取不到.env配置文件,可能是路径不对,看warning的信息,是否提示.env没有找到,那就尝试修改,一定要看报错信息,基本都一目了然,避免盲目搜索查找 - 连接
mysql数据库
由于使用Wampserver32无法有效连接到,不得已在ubuntu系统下安装mysql数据库。由于第一次使用ubuntu,因而记录下常用的命令,以及错误处理。
远程连接数据库,这是大前提ubuntu查看 ipifconfig -a
若是报 ifconfig commad
sudo apt install net-tools
mysql 数据库安装等一系列命令
安装 mysql
sudo apt-get install mysql-server
运行安全脚本
sudo mysql_secure_installation
测试Mysql
systemctl status mysql.service
启动 mysql
1. sudo systemctl start mysql
2. sudo service mysql start
关闭 mysql
sudo service mysql stop
重启 mysql
sudo service mysql restart
错误处理
- GUI工具连接数据库
10061
修改bind-address=127.0.0.1 为 bind-address=0.0.0.0
<!-- 不一定非要在my.ini文件夹下 -->
update user set host = '%' where user = 'root'
// 可以将 `localhost` 换成 `%` 这点后期会踩无数坑
alter user 'root'@'localhost' identified with mysql_native_password by '你的密码'
<!-- 报错 -->
[Error] 1819 密码设置的不符合要求
1819
密码必须符合要求,而不是随便设置,很无语
1396
// 由于在前面将 `localhost` 换为 `%`,而我在后期修改中,却一直以为是 `root@localhost` 导致一直不成功,因而修改为
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123'
- GUI工具连接数据库
sequelizeconnect ENOENT '3306'
一直以为连接数据库错误,各种排查,用SQL GUI工具发现可以连接数据库,然后打印时,发现
...
username: '\'root\''
...
意识到是不是我多加了
''的缘故,去除就好了// .env文件 不用添加引号
# MySQL 数据库链接配置
MYSQL_USERNAME = root
MYSQL_PASSWORD = 1991
MYSQL_DB_NAME = hapi
MYSQL_HOST = ip地址
MYSQL_PORT = 3306
修改表,columns的字符集为 utf-8,这里需要多多注意,
数据库
表
columns
都要看看是否是 utf-8
不只是修改表的字符集,还需要修改 表的
columns的字符集
待续
继续前行吧,虽然都是很简单的操作,但是一步步来才是很爽的,不断排错,不断完善,很多东西确实相同,比如项目结构等等,后续再补充。
node -- hapi 学习的更多相关文章
- NODE.JS学习的常见误区及四大名著
NODE.JS学习的常见误区及四大名著 前段时间由于不满于社区里很多人对于NODE.JS的种种误解而写了一篇文章名为: NODE.JS之我见:http://www.cnblogs.com/pugang ...
- Node.js学习系列总索引
Node.js学习系列也积累了一些了,建个总索引方便相互交流学习,后面会持续更新^_^! 尽量写些和实战相关的,不讲太多大道理... Node.js学习笔记系列总索引 Nodejs学习笔记(一)--- ...
- 【入门必备】最佳的 Node.js 学习教程和资料书籍
Web 开发人员对 Node.js 的关注日益增多,更多的公司和开发者开始尝试使用 Node.js 来实现一些对实时性要求高,I/O密集型的业务.这篇文章中,我们整理了一批优秀的资源,你可以得到所有你 ...
- node.js学习(1)
新建便笺 3 node.js学习(1) 1)安装 http://nodejs.org/download/下载. 2)编写一个案例 var http=require("http"); ...
- 我的Node.js学习历程
学习一门技术,每个人都有每个人的方法.我的方法很简单,做项目. 基本概念 在搭建一个node网站之前,还是要掌握一些基本的概念的,这里列举一下,具体的内容大家自己到网上去查: npm bower ex ...
- Node.js学习之TCP/IP数据通讯
Node.js学习之TCP/IP数据通讯 1.使用net模块实现基于TCP的数据通讯 提供了一个net模块,专用于实现TCP服务器与TCP客户端之间的通信 1.1创建TCP服务器 在Node.js利用 ...
- Node.js学习起步
Node.js学习: 简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台.Node.js是一个事件驱 ...
- 一点感悟:《Node.js学习笔记》star数突破1000+
写作背景 笔者前年开始撰写的<Node.js学习笔记> github star 数突破了1000,算是个里程碑吧. 从第一次提交(2016.11.03)到现在,1年半过去了.突然有些感慨, ...
- Node.js学习看这里:基础、进阶、文章
Node.js是基于Chrome JavaScript运行时建立的一个平台,实际上它是对Google Chrome V8引擎进行了封装,它主要用于创建快速的.可扩展的网络应用. Node.js采用事件 ...
随机推荐
- 20145302张薇《课程设计》数据恢复——WinHex实践
20145302张薇<课程设计>数据恢复--WinHex实践 实践内容 使用WinHex破损一个U盘 使用WinHex通过DBR备份数据来修复已损坏U盘 实践详细步骤 1.准备一个文件格式 ...
- 20145334赵文豪《网络对抗》-逆向及Bof基础实践
本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. 该程序同时包含另一个代码片段,getShell,会返 ...
- noip2008 真题练习 2017.2.25
不是有很多可以说的,记住不能边算边取min Code #include<iostream> #include<fstream> #include<sstream> ...
- Python3基础 try-except-finally 的简单示例
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- CSS高级布局
float属性 基本浮动规则 先来了解一下block元素和inline元素在文档流中的排列方式. block元素通常被现实为独立的一块,独占一行,多个block元素会各自新起一行,默认block元素宽 ...
- ubuntu下进程kidle_inject致使编译软件很慢
一.背景 某一天编译一个程序发现半天都没编译ok,于是使用top一看发现有个别进程占用cpu奇高,遂出此文 二.怎么解决? 2.1 什么进程占据很高cpu 名为kidle_inject,同时开启了好几 ...
- 【Android实验】组件通信Intent
实验目的 [TOC] 了解使用Intent进行组件通信原理 掌握使用Intent启动Activity的方法 熟悉和掌握Android组件间通信的方式和技巧 实验要求 设计一个主Activity和一个子 ...
- NS-3 MyFirstScriptExample
安装好了NS-3之后,我根据一些教程学习了NS-3的几个关键的概念,然后照着例子和自己对它的一些理解,尝试的打了我自己的第一个脚本程序:MyFirstScriptExample 具体代码如下: #in ...
- C指针 的一些练习
注:此篇是我使用指针敲的一些题目的集成,有一些代码是重复的(挠头).这样做的目的是进行前后的一些比较和收获一些心得(?). 关于上一次我上台的题目: 题目:输入十个整数,进行排序. 做法1:(传递指针 ...
- Springboot 如何加密,以及利用Swagger2构建Restful API
先看一下使用Swagger2构建Restful API效果图 超级简单的,只需要在pom 中引用如下jar包 <dependency> <groupId>io.springfo ...