自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

栗子好好吃的博客

抱怨使人放弃进步

  • 博客(30)
  • 收藏
  • 关注

原创 koa --- > 使用Sequelize连接mysql

Sequelize介绍为了快捷开发,社区出现了一系列的ORM(Object Relational Mapping)类库ORM的字面意思为对象关系映射,它提供了概念性的、易于理解的模型化数据的方法。通过ORM,可以降低操作数据库的成本。开发者不需要通过编写SQL脚本来操作数据库,直接通过访问对象的方式来查询、更新数据。这样做极大地提升了开发效率,降低了开发门槛。缺点也很明显,不够高效在Nod...

2019-11-30 21:53:08 663

原创 koa --- > 使用koa-multer上传文件+elementUI

目录结构如下基本思路1.通过浏览器访问url: http://localhost:3000/upload2.服务器(koa)监听到对应的路由,调用路由处理函数3.使用nunjucks模板引擎进行渲染,并返回给浏览器4.浏览器渲染完毕后显示出来.5.点击上传文件->上传6.服务端监听到上传的POST请求,进行相应的处理并将处理结果返回给前端总体代码/upload.js...

2019-11-30 16:41:22 1085

原创 koa --- > nunjucks在Koa中的使用、中间件的配置

Nunjucks在Koa中的应用app.jsconst koa = require('koa');const app = new koa();const router = require('./router')const nunjucks = require('koa-nunjuncks-2');app.use(nunjucks({ ext: 'html', // 指定视图文...

2019-11-30 15:54:48 657

原创 koa --- > 使用koa-multer和element-ui组件上传头像

文件上传前端代码<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script src="https://unpkg.com/element-ui/lib/index.js"></script><link rel="stylesheet" ...

2019-11-21 16:56:12 607

原创 koa --- > restful规范及其栗子

遵循Restful规范的简单的栗子前端代码:<html><head> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script src="https://unpkg.com/element-ui/lib/index.js"...

2019-11-21 15:01:27 129

原创 koa --- > 跨域,解析POST参数、路由配置

目标将开发中经常遇见的问题写在这里方便查询.使用Koa创建一个简单的服务器const Koa = require("koa");const app = new Koa();app.listen(3000, () =>{ console.log("[server] Server is running at http://localhost:3000")})使用koa2-cor...

2019-11-21 14:49:49 523

原创 koa --- > 使用Github OAuth登录

准备登录github选择右上角的settingDeveloper settings -> OAuth Apps -> Register a new application填入基本信息点击绿色的按钮,可以看见 client_id 和 client secret理清思路:开始时,一个登录的连接,点击连接.后台监听登录(/login)路由,然后重定向到github...

2019-11-20 10:43:16 373

原创 koa --- > jwt实现最简单的Token认证

HTML有如下html: 先看代码后挑重点来说明:<!DOCTYPE html><head> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script src="https://unpkg.com/axios/dist/a...

2019-11-18 20:46:47 344

原创 koa --- > seesion实现登录鉴权

koa + vue + session 实现一个简单的登录逻辑/login component/login-session.html<!DOCTYPE html><head> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <s...

2019-11-18 17:20:14 304

原创 node --- > 实现session认证.

自己创建 Session注: session 是后端的内容具体思路如下:使用 session 空对象存 cookie 键值对.当第一次进入的时候,生成一个随机数 sid,通过 cookie 传递 sid,并再后端使用session[sid] = msg的方式,记录本次的值若非第一次进入,则需要从 cookie 中解析出 sid,进而得到该 sid 下的内容(有可能是用户信息)c...

2019-11-17 21:29:47 255

原创 koa --- > 扩展hbs方法

moment是一款常用的处理时间的库传入 1999-03-01T16:00:00.000Z YYYY/MM/DD输出 1999/03/02const moment = require('moment');const myDatePattern = (date, pattern) =>{ return moment(date).format(pattern)} 给扩展h...

2019-11-17 10:57:54 248

原创 koa --- > 监听路由,并使用模板引擎渲染显示

使用路由/Koa实战/routes/index.jsconst Router = require('koa-router');const router = new Router();router.get('/', ctx => { ctx.body = 'index';});module.exports = router/Koa实战/routes/users...

2019-11-17 09:27:36 666

原创 koa --- > 使用中间件多层级抛出错误

说明能够熟练的掌握错误的抛出,可以在一定程度上提高代码的开发效率和可读性构造错误本栗采用调用一个不存在的函数来抛出错误const Koa = require('koa');const app = new Koa();// 响应时间输出中间件app.use(async (ctx, next) => { await next(); // 获取响应头,印证执...

2019-11-16 21:31:57 179

原创 javascript --- > event loop

栗子1求下面函数的输出console.log('script start');setTimeout(() => { console.log('setTimeoout');}, 0);Promise.resolve().then(function(){ console.log('promise1');}).then(function(){ console.log...

2019-11-15 12:20:09 104

原创 操作系统 --- > [笔记]功能、组成

操作系统的作用管理计算机硬件充当计算机用户和计算机硬件的中介(操作系统控制硬件,协调各个用户应用程序的硬件)计算机系统的资源CPU时间、内存空间、文件存储空间、I/O设备等操作系统的定义如何定义一个操作系统:计算机系统的根本目的是,执行用户程序并且更容易解决用户问题。为了实现这一目的构造了计算机硬件。由于硬件本身并不容易使用,因此开发了应用程序。有些应用程序需要一些共同...

2019-11-15 09:14:46 290

原创 node --- > 连接mysql(docker环境) && Sequelize库

mysql 数据库[1] 首先配置 docker 环境采用 docker-compose 方法源码: /test-mysql/docker-compose.ymlversion: '3.1'services: mysql: image: mysql command: --default-authentication-plugin=mysql_native_pass...

2019-11-12 08:38:08 748

原创 docker --- > mysql的部署

MySQL部署[1]查询本地镜像中是否含有 centos/mysql-57-centos7(我们用到的镜像)docker images[2] 拉取镜像docker pull centos/mysql-57-centos7注:centos/mysql-57-centos7 是我们用到的镜像[3] 创建容器docker run -id --name=tensquar...

2019-11-11 10:33:28 103

原创 docker --- > 镜像、容器

Docker使用国内的源windows下使用 "everything"软件 查找 daemon.json修改为如下:{ "registry_mirrors": ["https://docker.mirrors.ustc.edu.cn"]}查看images(镜像)docker images注: 看见的镜像是已经下载好的,因此在没有网络的情况下也可以用搜索镜像docke...

2019-11-11 09:04:59 166

原创 linux --- > 高级指令

高级指令1、hostname 指令作用: 操作(读取|操作)服务器的主机名语法1: # hostname (输出完整的主机名)语法2: # hostname -f (输出当前主机中的FQDN)FQDN:(Fully Qualified Domain Name)全限定域名:同时带有主机名和域名的名称。2、id 指令作用: 查看用户的一些基本信息(用户id、用户组id、附加组i...

2019-11-08 21:40:04 531

原创 linux --- > 进阶指令

进阶指令(重点)1、df 指令作用: 查看磁盘空间语法: # df -h注:-h:以较高可读性的方式展示出来2、free 指令作用: 查看内存使用情况语法: # free -m注:-m:以M的单位显示内存情况-/+ buffers/cache: free 代表真实可用的内存为 486 MbSwap: 表示,临时将硬盘当作内存的数量为 1942Mb (Linux系统...

2019-11-08 15:06:28 215

原创 linux --- > 基础指令

基础命令1、ls(list)用法1: # ls含义: 列出当前工作目录下所有的 文件/文件夹 的名称用法2: # ls 路径含义: 列出指定路径目录下所有的 文件/文件夹 的名称用法3: # ls 选项 路径含义: 以指定的格式来显示指定目录下文件夹的名称栗子: # ls -l 路径 -->> 表示以列表的形式进行展示栗子: # ls -la 路径...

2019-11-08 11:21:02 370

转载 docker --- > 将已有的项目发布到云端

[运行在win10]DockerfileDocker根据该文件生成image文件FROM node:8.4COPY . /appWORKDIR /appRUN ["npm", "install"]EXPOSE 3000/tcp根据Dockerfile生成image注意末尾有个.(英文的点)代表当前目录docker image build -t koa-demo:0.0.1 ....

2019-11-07 17:33:44 364

原创 node --- > [跨域] 预检请求

简单请求若满足所有下述条件,则该请求可视为“简单请求”:使用下列方法之一:GETHEADPOSTContent-Type: (仅当POST方法的Content-Type值等于下列之一才算做简单需求)text/plainmultipart/form-dataapplication/x-www-form-urlencoded预检会出现的问题...

2019-11-04 09:35:01 543

原创 node --- > 模拟express实现一个简单的服务器

目标使用express实现一个监听3000端口的http服务如下const express = require('express');const app = express();app.get('/', (req, res) => { res.end('Hello Express');})app.get('/users',(req, res)=>{ res...

2019-11-03 16:01:57 182

原创 react --- > 隔代传递参数的三种方式

组件跨层级通信 - Context上下文提供一种不需要每层设置props就能跨多级组件传递数据的方式方式1Provider提供值Consumer来消费传递的值import React from 'react';// 创建一个上下文const Mycontext = React.createContext();const { Provider, Consumer } = M...

2019-11-03 09:17:40 860

原创 react --- > Hook的使用

Hook是React16.8一个新增项,它可以让你在不编写class的情况下使用state以及其他的React特性特点:无需修改组件结构的情况下复用状态逻辑将组件相互关联的部分拆分成更小的函数,复杂组件将变得更容易理解更简洁、更易理解的代码使用Hook的栗子import React, { useState } from 'react'export default fun...

2019-11-02 18:01:46 118

原创 react --- > 复合组件,传递属性

组件复合复合组件给予你足够的灵活去定义组件的外观和行为,而且是以一种明确和安全的方式进行.如果组件间有公用的非UI逻辑,将它们抽取为JS模块导入使用而不是继承它/src/components/Composition.js// Dialog作为容器不关心内容和逻辑function Dialog(props){ return <div style={{ border: "4px...

2019-11-01 19:38:08 175

原创 react --- > render持续调用解决方案

问题描述:在某个组件中.有可能频繁的取数据(但是数据未改变,因此不需要更新).数据的频繁请求会触发render函数,造成性能消耗模拟代码如下export class CommentList extends Component { constructor(props) { super(props); this.state = { comments: [] } } ...

2019-11-01 17:24:14 1070

原创 react --- > 按需加载组件

问题描述使用 antd库时使用按钮,须导入如下import Button from 'antd/lib/button'import 'antd/dist/antd.css'这样会导入全局的样式.解决方案,配置按需加载1.安装 react-app-rewired取代 react-scripts, 可以扩展webapack 的配置, 类似vue.config.jsnpm i...

2019-11-01 10:49:00 467

原创 react --- > 生命周期 && 给子组件传递数据

子组件/src/components/LifeCycle.jsimport React, { Component } from 'react'export class LifeCycle extends Component { constructor(props) { super(props); // 常用于初始化状态(状态初始化、属性初始化) consol...

2019-11-01 09:40:33 107

空空如也

空空如也

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

TA关注的人

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