- 博客(137)
- 收藏
- 关注
原创 管理员数据生成
const mysql = require('../libs/mysql');const password = require('../libs/password');(async ()=>{ let db = await mysql; let name = 'blue'; let pass = '123456'; // 检查 let ro...
2019-12-30 14:56:51
286
原创 全局错误处理
server.js:const Koa = require('koa');const config = require('./config');const opn = require('opn');const network = require('./libs/network');const Router = require('koa-router');const {post, upl...
2019-12-30 00:24:37
328
原创 整合内容静态化
router\web\index.js:const Router = require('koa-router');let router = new Router();// 静态化// 寻找缓存router.get('/', async (ctx, next)=>{ let key = 'page:'; let maxage = 1 * 86400 * 1000;...
2019-12-30 00:06:07
225
原创 整合静态资源
router\index.js:const Router = require('koa-router');const static = require('./static');let router = new Router();router.use('/admin', require('./admin'));router.use('', require('./web'));sta...
2019-12-29 22:29:01
148
原创 整合路由
router\index.jsconst Router = require('koa-router');let router = new Router();router.use('/admin', require('./admin'));router.use('', require('./web'));module.exports = router.routes();rout...
2019-12-29 21:59:24
151
原创 整合session
session.js 代码:const session = require('koa-session');const fs = require('promise-fs');const config = require('../config');const client = require('./redis');module.exports = async server => {...
2019-12-29 18:29:17
91
原创 POST及文件上传
封装了很多东西:const Koa = require('koa');const config = require('./config');const opn = require('opn');const network = require('./libs/network');const Router = require('koa-router');const {post, uplo...
2019-12-29 16:04:42
276
原创 opn和网络提示
server.js:const Koa = require('koa');const config = require('./config');const opn = require('opn');const network = require('./libs/network');let server = new Koa();(async ()=>{ server.c...
2019-12-29 14:11:17
279
1
原创 增加数据库和redis
数据库MySQL:const Koa = require('koa');const config = require('./config');let server = new Koa();(async ()=>{ // 数据库 server.context.db = await require('./libs/mysql') server.use(asyn...
2019-12-29 13:18:35
818
1
原创 项目结构、配置
核心:koa 核心koa-router 路由koa-static 静态资源promise-fs 文件uuid 全局唯一标识符数据:koa-better-body、koa-convert post数据、文件数据memorystream 内存流promise-mysql mysqlredis、bluebird redis客户端session:koa-session渲染...
2019-12-29 10:36:01
212
1
原创 ejs库
下载npm包npm install ejs -D简单代码:const ejs = require('ejs')// 模板 数据 回调ejs.renderFile( './template/1.ejs', { name: "enoch", }, (err, html)=>{ if(err){ console...
2019-12-28 23:52:57
203
原创 session
koa-sessionnpm install koa-session -S代码const Koa = require("koa");const session = require("koa-session")const fs = require("promise-fs");// const opn = require("opn");let server = new Koa();...
2019-12-27 09:54:37
168
原创 服务秘钥生成
机器生成keys全局唯一标识符uuidconst uuid = require('uuid/v4');console.log(uuid())
2019-12-27 07:40:55
163
原创 cookie的基本使用
cookie用于在客户端存储一些数据、下次访问服务器时会携带这些数据容量小:每条4K,最多20条。(总容量30K)不安全:用户可以随意查看,修改不稳定:清理浏览器垃圾会消失同源策略限制:无法跨域访问使用cookiectx.cookies.set(key, val); // 设置ctx.cookies.get(key); // 获取篡改问题:签名秘钥循环秘钥代码:c...
2019-12-26 20:49:44
127
原创 jsonp数据
古老的跨域方法,已经逐步被CORS淘汰,但对后台来说,就是一个GET请求而已。民间标准。缺点:对权限松散,安全性差。CORS是ajax的增强,普通ajax通过监听onredyStatusChange来控制是否完成。jsonp的连接样子:http://localhost:8080/a?n1=15&n2=77&cb=>show(92)服务端代码:const Koa...
2019-12-26 19:59:01
118
原创 路由参数
ctx.params的使用:当我把对应参数传过去,ctx.params就会得到相应的值,必传才行。const Koa = require("koa");const Router = require("koa-router");let server = new Koa();let router = new Router();server.listen(8000);router.ge...
2019-12-26 10:40:35
233
原创 路由方法
路径写法koa-router中路径有4种写法:字符串:router.get("/’)数组:router.get([’/’, ‘/index’])通配符:router.get("*")正则:router.get(/^(index)?/)all和use:all用于挂载路由节点,可以独立工作use用于挂载中间件,“无法独立工作”路由参数:...
2019-12-26 10:16:53
403
原创 数据解析
GETGET数据的处理:GET一般都是请求页面,不过也可以传传form表单,一起看看html代码<!DOCTYPE html><html lang="zh"><head> <meta charset="UTF-8"> <title>Page Title</title></head>&l...
2019-12-22 17:50:00
184
原创 koa-static静态资源
简单代码:const Koa = require("koa");const static = require('koa-static');let server = new Koa();server.listen(8000);server.use(static('./static', { maxage: 60*86400*1000, // 60天 index: "in...
2019-12-22 16:48:22
583
原创 ctx对象的属性
请求访客地址:ipcontext:类似protype,用于补充功能。state: 官方提供的方法空间,防止context覆盖了一下系统功能。特性检测:检测给用户提供什么语言的网页,方法有两种,方法1:根据用户的ip地址,区分国家;方法2:可以有在日本的中国人,也可能有在美国的中国人,或者在中国的美国人,所以方法一不准确,所以可以使用ctx.acceptsLanguage方法。cons...
2019-12-22 11:49:19
1342
原创 认识ctx对象、ctx的方法
ctx.req 原生request对象ctx.res 原生response对象ctx.request koa的request对象ctx.response koa的response对象ctx.throw()抛异常:ctx.redirect()重定向301永久重定向302临时重定向const Koa = require("koa")...
2019-12-22 10:47:00
26267
原创 koa-router基本使用、错误处理404和500
路由:根据请求方式、请求地址的不同来执行对应的函数安装npm install koa-router --save案例:const Koa = require("koa");const Router = require("koa-router");let server = new Koa();server.listen(8000);let router = new Rout...
2019-12-21 16:40:01
5189
原创 Koa.js基础 认识Koa.js
先初始化和下载koa:npm init -ynpm install koa -D第一段代码:const Koa = require("koa"); // 引入Koalet server = new Koa(); // 创建实例server.listen(8000); // 监听端口server.use(async ctx => { ctx.body = "h...
2019-12-21 15:03:36
903
原创 14React Redux入门
官网:https://redux.js.org/安装:npm install redux --savedemo案例:// redux的使用import {createStore} from "redux";// 初始化的时候执行一次 更新数据的时候执行一次// 第二参数action会接受dispath中传来的type值const store = createStore( (sta...
2019-12-20 11:38:35
120
原创 13React Router
安装React Routernpm install react-router-dom精准匹配: exact为true即可。赋值要写在大括号里,不然用引号是字符串。404:使用Switch组件解决import React from "react";import ReactDOM from "react-dom";import {BrowserRouter, Route, Switch}...
2019-12-20 07:51:11
120
原创 12在React中使用sass
React脚手架中已经把css-loader、style-loader、sass-loader安装好了,只需要安装node-sass就可以了。npm install node-sass --savestyles.scss做入口文件_base.scss放基础样式_setting.scss放提取变量命名规则:BEM — Block Element Modifier.header { ...
2019-12-19 11:42:29
575
原创 11在React中使用第三方组件
在jsx模板中传dom节点的两种方法:方法一:使用props自定义属性。import React from "react";import ReactDOM from "react-dom";const Layout = (props) => { return ( <div> <p>上</p> ...
2019-12-18 19:22:19
930
原创 10 create-react-app
官网地址:https://create-react-app.dev/临时下载安装create-react-app,没有占用全局。需要npm 5.2以上支持。npx create-react-app myapp下载好了之后启动项目:cd myappnpm run start把里面src下的内容清空,自己写一个index.js文件作为入口文件:写第一个页面import React ...
2019-12-18 14:44:35
208
原创 08函数组件
React中组件分为类组件和函数组件,在函数组件中没有state属性,所以一些使用不到state属性的类组件可以使用函数组件。定义函数组件:const User = () => { return ( <div> <p>名字:</p> <p>年龄:</p> ...
2019-12-17 13:18:13
249
原创 07组件中的state属性
以前没有组件化的时候重新渲染数据要写一个render函数,然后每次渲染都是执行这个函数,渲染新的模板。组件化之后:state属性是一个对象,类似Vue中的data属性一样存值,当state中的数据改变就会重新渲染页面。初始代码:class Count extends React.Component { handleAddOne() { console.log("+1"...
2019-12-16 15:03:23
256
原创 06在组件中传值和定义事件
自定义属性传值:除了原有的属性如id className等之外的属性class MyApp extends React.Component { render() { return (<div> <Header title="我的标题1"/> </div>) }}class Hea...
2019-12-16 13:19:36
107
原创 05组件化思想
如何创建组件:定义一个类,然它继承React.Component属性。class Header extends React.Component { render () { // return jsx语法 return <p>我是一个组件</p> }}组件如何使用:const jsx = ( <div...
2019-12-15 17:37:56
116
原创 04input框和列表渲染
先看一段代码:const obj = { title: "帮你做决定", subtitle: "把你的命运交给电脑吧!", options: ["option1"]}const showOptions = (options) => { if(options && options.length > 0) { retur...
2019-12-15 16:08:10
614
原创 03绑定属性和事件
属性绑定在JSX语法的html代码中,标签属性比如id、class等,需要主要class的写法是className,因为在js中有class类这样的关键字,不允许使用。如let count = 0;// javascript XMLconst template = (<div> <h1 id='my-id' className="my-class"&...
2019-12-15 10:49:45
177
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人