node.js + koa2学习笔记

介绍Koa2

koa2-创建项目

// 全局安装koa-generator
npm install koa-generator -g
// 利用koa-generator 快速生成ejs模板的项目
koa2 koa-weibo -e

koa2-演示路由

// 实例化一个路由
const router = require('koa-router')()
// 为这个路由添加前缀名
router.prefix('/api/user')
// 处理get请求
router.get('/getAtList', async (ctx, next) => {
  // 做一些事情
})
// 处理Post请求
router.post('/login', async (ctx, next) => {
  // 做一些事情
})
// 处理patch请求
router.patch('/changePassword', async (ctx, next) => {
  // 做一些事情
})

介绍ejs

ejs-变量和判断

<% blogList.forEach(blog => { %>
  
<% if (blog.image) { %> <% } %> <%= blog.user.nickName%> : <%- blog.contentFormat%>
<%= blog.createdAtFormat%>   <% if (locals.canReply) { %> <%# 可以回复 %> 回复 <% } %>
})%> <% %> //有啥变量或者表达式的 就往这里面写

介绍mysql

mysql-下载和安装

ps:这儿就不记了,直接放一个链接地址吧,我是安装的mysql8.0以后的版本,使用的是.msi格式的安装包。链接地址:https://blog.csdn.net/xiezhiming1234/article/details/82860339

mysql-工具

这里推荐使用navicat for mysql  和 mysql workbench这两个。

mysql-建表和基础sql语句

建表也挺简单的,可以利用workbench工具直接操作,建表之前应该想好你这一张表都需要什么数据,它们的数据格式是什么。

// 以下都是在mysql workbench中运行的语句
select * from users;  // 查询
select * from blogs;  // 查询
select * from blogs order by id  desc; //倒序查询
-- select * from users;  // 注释语句

insert into (username, `password`, nickname) values('zhangsan', '12346', '张三'); // 插入语句
select userName, nickName from users where userName='zhangfei'and `password`='123'; //条件查询
update blogs content='这是一段新内容' where id = 1;  // 按条件更新某一篇文章内容
delete * from blogs where id = 4;  // 删除id为4的博客

mysql-连表查询

select blogs.*,users.userName,users.nickName from 
blogs inner join users on users.id = blogs.userid;

select blogs.*,users.userName,users.nickName 
from blogs inner join users on users.id = blogs.userid 
where users.userName = 'zhangfei';
注意:连表查询 不一定要有外键哦

介绍sequelize

sequelize-创建连接

sequelize创建连接一般分为这几步走,首先你得先安装mysql2 和 sequelize 这两个依赖;第二步呢你得在文件中引入sequelize,最后一步就是你得简单配置一下mysql的配置,比如host user password database 这几项,再判断一下当前是什么环境,分别用不同的mysql配置;最后new Sequelize 就拿到sequelize实例啦,调用实例的authenticate方法就行啦!事儿是说明白了,下面代码搞一下吧!

const Sequelize = require('sequelize')

const conf = {
  host: 'localhost',
   dialect:'mysql'
}

const seq = new Sequelize('koa2_weibo', 'root', '1234567', conf)

seq.authenticate().then(() => {
  console.log('ok')
}).catch(() => {
  console.log('err')
})

// module.exports = seq   // 需要的话就导出

sequelize-创建模型

利用sequelize创建模型也是非常简单的,在这之前你需要想好你要创建怎样的一张数据表,这张数据表里你打算存哪些数据,它们的数据格式是什么样的,哪些数据是必填的 哪些数据是选填的。如果这些你都想好了的话,那么我们直接使用上面刚刚创建好的sequelize实例来创建一个新的数据表吧!

const Sequelize = require('sequelize')
const seq = require('../seq')

const User = seq.define('user', {
  userName: {
    type: Sequelize.STRING,
    allowNull: false,
    unique: true,
    comment: '用户名,唯一'
  },
  password: {
    type: Sequelize.STRING,
    allowNull: false,
    comment: '密码'
  },
  nickName: {
    type: Sequelize.STRING,
    allowNull: false,
    comment: '昵称'
  },
  gender: {
    type: Sequelize.DECIMAL,
    allowNull: false,
    defaultValue: 3,
    comment: '性别(1-男性,2-女性,3-保密)'
  },
  city: {
    type: Sequelize.STRING,
    comment: '城市'
  },
  picture: {
    type: Sequelize.STRING,
    comment: '用户头像,图片地址'
  }
})

module.exports = User

 

你可能感兴趣的:(koa2,javascript,node.js)