自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (2)
  • 收藏
  • 关注

原创 01.vue 中 less 的简单使用

使用 less 写一个弹框组件在用 vue create vueless 时选择 css 预处理Alert.vue<template> <div class="alert"> <div class="zhezhao"> <div class="alertMain"> <div class="title"> 温馨提示:{{title}} </div>

2020-07-31 18:43:28 23

原创 24.nodejs中md5加密

/** * @description 加密 */const crypto = require('crypto') // nodejs 内置加密模块const { CRPYTO_SECRET_KEY } = require('../conf/secretKeys') // 密钥/** * md5 加密 * @param content */function _md5(content) { const md5 = crypto.createHash('md5') return

2020-07-26 17:58:31 34

原创 23.nodejs中后台逻辑事务的处理过程

学习的是慕课网课程

2020-07-26 12:42:33 55

原创 22.nodejs 中 koa框架上传文件 koa-multer

const multer = require('koa-multer')const storage = multer.diskStorage({ destination: function (ctx, file, cb) { cb(null, 'upload/files') }, filename: function (ctx, file, cb) { const fileName = (file.originalname).split('.')[0].toString('b

2020-07-26 10:46:36 90

原创 21.nodejs中koa框架上传下载文件 formidable-upload-koa

上传文件使用 formidable-upload-koa 模块下载文件使用 koa-send 模块routerconst router = require('koa-router')()const koaForm = require('formidable-upload-koa')const { saveFile } = require('../controller/files')const send = require('koa-send')const path = require('pat

2020-07-26 10:40:06 125

原创 20.nodejs 中 数据格式验证 ajv的简单使用

const ajv = require('ajv') // 导入ajvconst AJV = new ajv() // 生成ajv实例对象// 匹配规则一const SCHEMA1 = { type: 'object', properties: { userName: { type: 'string', pattern: '^[a-zA-Z][a-zA-Z0-9_]+$', // 字母开头,字母数字下划线 maxLength: 255,

2020-07-24 17:44:46 191

原创 19.nodejs 中 koa2框架jwt的简单使用

jwt json web tokenapp.jsconst Koa = require('koa')const app = new Koa()const views = require('koa-views')const json = require('koa-json')const onerror = require('koa-onerror')const bodyparser = require('koa-bodyparser')const logger = require(

2020-07-22 22:33:57 76

原创 06.sequelize 查找 find

const { Blog, User} = require('./model')!(async () => { // // 查询一条记录 // const zhangsan = await User.findOne({ // where: { // userName: 'zhangsan' // } // }) // // console.log('zhangsan', zhangsan.dataValues) // // // 查询特点的列

2020-07-22 00:10:36 38

原创 05.sequelize 修改 update

const { User, Score } = require('./model')!(async () => { const updateRes = await User.update({ password: 'abc' }, { where: { userName: 'lisi' } }) console.log('updateRes: ', updateRes[0] > 0)})()

2020-07-22 00:06:30 51

原创 04.sequelize 删除 destroy

const { User, Score } = require('./model')!(async () => { // 因为外键关系,当删除是会在外键关联的表的数据也删除 const delUserRes = await User.destroy({ where: { id: 1 } }) const delScoreRes = await Score.destroy({ where: { id: 5 } })

2020-07-22 00:02:37 541

原创 03.sequelize 增加create

const { User, Score } = require('./model')!(async () => { const zhangsan = await User.create({ userName: 'zhangsan', password: '123' }) console.log('zhangsan: ', zhangsan.dataValues)})()

2020-07-21 23:12:09 125

原创 02.sequelize创建模型,外键关联简述

https://github.com/demopark/sequelize-docs-Zh-CNconst Sequelize = require('sequelize')const seq = require('./seq')// 默认情况下,当未提供表名时,Sequelize 会自动将模型名复数并将其用作表名.// 这种复数是通过称为 inflection 的库在后台完成的,因此可以正确计算不规则的复数(例如 person -> people).// 默认会自动创建 id crea

2020-07-21 21:54:15 232

原创 01.sequelize的安装连接

// 安装 sequelize 模块npm install --save sequelize// 安装数据库连接模块npm install --save mysql2const { Sequelize } = require('sequelize')// 要连接到数据库,必须创建一个 Sequelize 实例. 这可以通过将连接参数// 分别传递到 Sequelize 构造函数或通过传递一个连接 URI 来完成const seq = new Sequelize('seqtest', 'ro

2020-07-21 18:23:51 27

原创 18.nodejs中pm2的一些配置

pm2可以自己实现记录日志,记录console打印的日志{ "apps": { "name": "pm2-test-server", // 进程名 "script": "app.js", //运行脚本路径 "watch": true, // 启动文件变化监控 "ignore_watch": [ // 忽略一些文件变化 "node_modules", "logs"

2020-07-20 21:05:45 21

原创 17.nodejs中koa2框架morgan写日志

const Koa = require('koa')// session 有关模块const session = require('koa-generic-session')const redis = require('redis')const RedisStore = require('koa-redis')// 日志有关的模块const morgan = require('koa-morgan')const path = require('path')const fs = requir

2020-07-20 00:27:39 132

原创 16.nodejs中koa2框架session的写入

const Koa = require('koa')// session 有关模块const session = require('koa-generic-session')const redis = require('redis')const RedisStore = require('koa-redis')const app = new Koa()app.keys = ['kaksk_12'] //设置签名cookie密钥app.use(session({ //session设

2020-07-20 00:12:58 45

原创 15.nodejs中express中间件的原理

app.use 用来注册中间件,先收集起来遇到 http 请求,根据 path 和 method 判断触发哪些实现 next 机制,即上一个通过next触发下一个const http = require('http')const slice = Array.prototype.sliceclass LikeExpress { constructor() { // 存放中间件列表 this.routes = { all: [], get: [],

2020-07-19 17:28:29 56

原创 14.nodejs中express框架使用morgan记录日志

const express = require('express')// 写日志需要用到的模块const path = require('path') // 获取文件路径const fs = require('fs') // 文件读写模块const rfs = require('rotating-file-stream') // 旋转文件流可以设置按指定时间写文件const morgan = require('morgan') // 日志模块// 本次 http 请求的实例cons

2020-07-19 12:50:05 81

原创 13.nodejs express框架session写入redis中

安装connect-redis中间件文档说明const redis = require('redis')const session = require('express-session') let RedisStore = require('connect-redis')(session)let redisClient = redis.createClient() app.use( session({ store: new RedisStore({ client: redisC

2020-07-19 00:51:44 39

原创 12.nodejs express框架session中间件的使用

安装express-session中间件const express = require('express')const cookieParser = require('cookie-parser')const session = require('express-session')// 本次 http 请求的实例const app = express()app.use(cookieParser()) // 配置cookie,会在req对象上生成cookie属性app.use(sessi

2020-07-19 00:32:09 29

原创 11.nodejs express框架cookie中间件的使用

1.安装cookie-parser中间件const express = require('express')const cookieParser = require('cookie-parser')// 本次 http 请求的实例const app = express()app.use(cookieParser()) // 配置cookie,会在req对象上生成cookie属性// 设置cookieapp.use((req, res, next) => { req.cook

2020-07-19 00:17:03 42

原创 10.nodejs express框架中间件机制

中间件(Middleware) 是一个函数,它可以访问请求对象(request object (req)), 响应对象(response object (res)), 和 web 应用中处于请求-响应循环流程中的中间件,一般被命名为 next 的变量。中间件的功能包括:执行任何代码。修改请求和响应对象。终结请求-响应循环。调用堆栈中的下一个中间件。如果当前中间件没有终结请求-响应循环,则必须调用 next() 方法将控制权交给下一个中间件,否则请求就会挂起。应用级中间件应用级中间件

2020-07-18 18:45:56 59

原创 09.nodejs express框架中app.js简单介绍

app.js中一些配置// 引入一些模块var createError = require('http-errors');var express = require('express');var path = require('path');var cookieParser = require('cookie-parser');var logger = require('morgan');// 导入路由var indexRouter = require('./routes/index');

2020-07-18 17:47:38 52

原创 08.nodejs利用stream流的方式读取写入文件

直接通过文件操作来读取文件内容,readFile,会造成内存资源消耗过大等问题可以通过用流的方式来解决const fs = require('fs')const path = require('path')const fileName1 = path.resolve(__dirname, 'data.txt')const filename2 = path.resolve(__dirname, 'data-back.txt')// 读取流const readStream = fs.creat

2020-07-17 11:55:14 263

原创 07.nodejs文件操作

const fs = require('fs')const path = require('path')const fileName = path.resolve(__dirname, 'data.txt')// 读取文件内容fs.readFile(fileName, (err, data) => { if (err) { console.error(err) return } console.log(data.toString())})// 写入文件

2020-07-15 12:28:00 11

原创 06.mysql连接redis

const redis = require('redis')// 创建客户端const redisClient = redis.createClient(6379,'127.0.0.1')redisClient.on('error', err => { console.error(err)})// 测试redisClient.set('name','zhangsan',redis.print)redisClient.get('name', (err, val) => {

2020-07-15 09:36:40 36

原创 05.nodejs连接mysql数据库

// 引入mysql模块const mysql = require('mysql')// 创建连接对象const con = mysql.createConnection({ host: 'localhost', user: 'root', password: '10271027', port: '3306', database: 'myblog'})// 开始链接con.connect()// 执行sql语句const sql = 'select * from u

2020-07-13 22:26:10 23

原创 04.nodejs处理post请求简述

//引入nodejs内置http模块const http = require('http');//创建http服务实例serverconst server = http.createServer((req, res) => { //判断请求方法是否是POST if (req.method == 'POST') { //打印POST方法发送的数据的格式,是发送请求时设置的 console.log(`content-type: ${req.headers['content-

2020-07-10 17:03:27 41

原创 03.nodejs处理get请求简述

// 引入内置http,querystring模块const http = require('http');const querystring = require('querystring');//创建http服务实例serverconst server = http.createServer((req, res) => { console.log(`method: ${req.method}`); //请求方法 const url = req.url; //请求地址 con

2020-07-10 16:46:44 30

原创 02.http请求概述

1.DNS解析,建立TCP连接,发送http请求DNS解析首先会搜索浏览器自身的DNS缓存,(缓存时间比较短,大概只有1分钟,且只能容纳1000条缓存),看自身缓存中是否有对应的条目,并且没有过期,如果有且没有过期,解析到此结束如果浏览器缓存没有,浏览器会搜索操作系统自身的DNS缓存,如果存在并没有过期,解析到此结束。如果操作系统自身没有,会向DNS服务器发起域名解析请求TCP连接客服端的请求送达服务端,首先是建立TCP连接Client首先发送一个连接试探,ACK=0 表示确认号无效,

2020-07-10 16:03:54 44

原创 01.nodejs中commonjs的使用

1.概述1.Node 应用由模块组成,采用 CommonJS 模块规范。2.每个文件就是一个模块,有自己的作用域。在每一个文件里面定义的变量、类、函数、都是私有的,对其他文件不可见。3.如果想在多个文件分享变量,必须定义为globla对象的属性globla.warning = true;上面代码的warning变量,可以被所有文件读取,但是这种写法不推荐4.commonjs规范规定,每个模块内部,module变量代表了当前模块。这个变量是一个对象,它的exports属性(即module.exp

2020-07-10 11:25:00 39

原创 js封装一些常用功能函数

// 1.输出类型值,封装typeof方法// 2.数组去重// 3.字符串去重// 4.字符串中只出现一次并且是第一次出现的字符// 5.圣杯模式 继承模式// 6.深拷贝// 7.封装函数,返回元素e的第n层祖先元素// 8.封装child功能,解决以前部分浏览器不兼容问题,返回元素节点 noteType==1// 9.封装hasChildren()方法,不可以使用children属性// 10.封装函数,返回元素e的第n个元素节点,n为正,返回后面的兄弟节点,// 11.返回元素子

2020-07-01 09:53:37 48

原创 js动画相关函数的封装

/** * 获取滚动的距离,并做兼容性处理 * @returns {{top: number, left: number}} 返回JSON数据top,left */function scroll() { if (window.pageYOffset !== null) { return { top : window.pageYOffset, left: window.pageXOffset } } else if (document.compatMo

2020-07-01 09:47:12 42

贪吃蛇1.zip

js 贪吃蛇源码

2020-06-16

淘宝静态页面.zip

仿淘宝静态页面源码

2020-05-31

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除