随笔分类 - Node.js
摘要:在 JS 模块化编程的模块引入上, 主要有两种方式: CommonJS 模块标准 ES6 moduel 特性 1. CommonJS 模块引入:require() 模块导出:exports 或者 module.exports exports 与 module.exports 区别 1.1 expor
阅读全文
摘要:1. 项目地址 "https://github.com/caochangkui/node express koa2 project/tree/master/blog express" 2. 项目实现 Express 框架 Node 连接 MySQL 路由处理 API 接口开发 开发中间件 登录 Co
阅读全文
摘要:pm2 是一个带有负载均衡功能的 Node 应用的进程管理器。 1. pm2 主要特点 内建负载均衡(使用Node cluster 集群模块) 保持后台运行 进程守护,系统崩溃后自动重启 启动多进程,充分利用CPU和内存 自带日志记录功能 控制台检测 提供 HTTP API 2. pm2 安装及常用
阅读全文
摘要:koa2 中间件 koa2的中间件是通过 实现的,中间件执行顺序是“洋葱圈”模型。 中间件之间通过next函数联系,当一个中间件调用 后,会将控制权交给下一个中间件, 直到下一个中间件不再执行 后, 将会沿路折返,将控制权依次交换给前一个中间件。 如图: koa2 中间件实例 app.js: con
阅读全文
摘要:1.SQL 注入 SQL 注入,一般是通过把 SQL 命令插入到 Web 表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的 SQL 命令。 SQL 注入示例 在登录界面,后端会根据用户输入的用户(username)和密码(password),到 MySQL 数据库中去验证用户的
阅读全文
摘要:`Stream(流)` 是 Node.js 中处理流式数据的抽象接口。 stream 模块用于构建实现了流接口的对象。 Node.js 提供了多种流对象。 例如,对 HTTP 服务器的 和 (标准输出), 都是流的实例。 流可以是可读的、可写的、或者可读可写的。 所有的流都是 EventEmitte
阅读全文
摘要:Http 协议是一个无状态协议, 客户端每次发出请求, 请求之间是没有任何关系的。但是当多个浏览器同时访问同一服务时,服务器怎么区分来访者哪个是哪个呢? cookie、session、token 就是来解决这个问题的。 cookie cookie 仅仅是浏览器实现的一种数据存储功能,就是浏览器里面能
阅读全文
摘要:安装mysql 连接数据库 需要根据实际配置修改数据库用户名、及密码及数据库名 在 MySQL 数据库中创建初始数据 终端输入: 将users.sql文件如下: SET NAMES utf8; SET FOREIGN_KEY_CHECKS = 0; Table structure for DROP
阅读全文
摘要:1. 安装svg captcha 2. 使用方法 1. 生成有4个字符的图片和字符串 如图: 2. 生成一个算术式和计算结果 如图: 3. 在 koa2 项目中使用 const Koa = require('koa'); const Router = require('koa router') //
阅读全文
摘要:项目地址: "https://github.com/caochangkui/vue element responsive demo/tree/login register" 通过 vue cli3.0 + Element 构建项目前端,Node.js + Koa2 + MongoDB + Redis
阅读全文
摘要:1. axios 常规用法: 2. 使用 asyns/await 将 axios 异步请求同步化: 2.1 当 axios 请求拿到的数据在不同场景下做相同的处理时: 2.2 当 axios 请求拿到的数据在不同场景下做不同的处理时:
阅读全文
摘要:"项目地址:https://github.com/caochangkui/demo/tree/koa mongoose" 连接数据库 数据库名字为:koa mongoose 创建数据表 定义 mongoose 数据库操作方法 入口文件app.js
阅读全文
摘要:项目地址: "https://github.com/caochangkui/demo/tree/koa test" 1. 创建项目 1. 创建目录 koa test 2. npm init 创建 package.json,然后执行 npm install 3. 通过 npm install koa
阅读全文
摘要:注册页包含手机验证码登录和密码的二次验证。 效果如下: 实现代码:
阅读全文
摘要:1. 创建 loading 公用组件 loading效果如下: 需要在 login.vue 页面背景图完全加载完成之前显示上面的loading效果 2. login.vue 页面
阅读全文
摘要:Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化,例如时间戳格式化。 过滤器可以用在: 双花括号插值 v bind 表达式 (2.1.0+ 开始支持)。 过滤器应该被添加在 JavaScript 表达式的尾部,由“管道”符号指示: <! 在双花括号中 {{ timestamp | fo
阅读全文
摘要:1. 开发环境跨域配置 在 vue.config.js 文件中: 注意,配置完成后要重启服务 配置 axios 请求的 baseUrl 在 main.js 中: 页面中发送请求: 此时,虽然发送的请求到地址:http://localhost:8080/api/postData/, 但是已经代理到了地
阅读全文
摘要:当打包构建应用时,Javascript 包会变得非常大,影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了。 1. 安装 syntax dynamic import 插件 如果在 vue cli 使用了 babel ,需要添加 插件
阅读全文
摘要:路由拦截 项目中,有些页面需要登录后才能进入,例如,在某页面A,用户在操作前需要先进入登录页(此时需要将上一页的地址( )作为query存入login页面的地址中,如: ),登录成功后再进入页面A。 首先,在router.js中创建路由时,给需要登录的路由中的 meta 添加字段:requireLo
阅读全文
摘要:项目地址: "https://github.com/caochangkui/vue cli3" 项目代码: 城市列表首页: City.vue 城市列表组件: List.vue 字母检索组件: Alphabet.vue 通过vuex管理已选城市:
阅读全文