
node
weixin_42614080
技术不止
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
node JS 中 单元测试的应用
一、单元测试单元测试,如下所示:单个功能或接口,给定输入,得到输出,看输出是否符合要求需手动编写用例代码,然后统一执行能一次性执行所有单测,短时间内验证所有功能是否正常通过 npm i jest supertest --save 命令下载 jest 和 supertest在 package.json 文件中 scripts 进行配置,如下所示:"scripts": { "start": "node bin/www", "dev": "cross-env NO原创 2021-01-26 23:14:36 · 533 阅读 · 0 评论 -
node JS 中 redis 的应用
一、node JS 中的 redis解决方案 redis,如下所示:将 web server 和 redis 拆分为两个单独的服务双方都是独立的,都是可扩展的,例如都扩展成集群包括 mysql,也是一个单独的服务,也可扩展session 适用于 redis,如下所示:session 访问频繁,对性能要求极高session 可不考虑断电丢失数据的问题,这也是内存的硬伤session 数据量不好太大,相比于 mysql 中存储的数据网站数据不适合用 redis,如下所示:原创 2021-01-17 14:54:15 · 385 阅读 · 0 评论 -
node JS 中 JWT 的应用
一、node JS 中 JWT 的应用JWT,如下所示:JWT,json web token用户认证成功以后,server 端返回一个加密的 token 给客户端客户端后续每次请求都带 token,以示当前的用户身份JWT 和 session,如下所示:为了解决登录和存储登录用户的信息JWT 用户信息加密存储在客户端,不依赖 cookie,可跨域session 用户信息存储在服务端,依赖 cookie,默认不可跨域一般情况下,两者都能满足,大型系统中两者可共用JWT 更适合原创 2021-01-16 12:16:53 · 438 阅读 · 0 评论 -
node JS 中 sequelize 结合 mysql 实现增加、查询、修改和删除
一、node JS 中 sequelize 结合 mysql 实现增加、查询、修改和删除sequelize 结合 mysql 实现增加,create.js 代码如下所示:const { Blog, User } = require('./model')!(async function () { // 创建用户 const zhangsan = await User.create({ userName: 'zhangsan', password: '123',原创 2020-12-15 01:18:51 · 715 阅读 · 0 评论 -
node JS 中 sequelize 结合 mysql 的应用配置
一、node JS 中 sequelize 结合 mysql 的应用配置通过 npm i sequelize mysql2 --save 命令下载 sequelize 和 mysql2。seq.js 代码如下所示:const Sequelize = require('sequelize')const config = { // 端口号 host: 'localhost', // 数据库名称 dialect: 'mysql'}// 线上环境,使用连接池config.po原创 2020-12-13 09:10:55 · 464 阅读 · 0 评论 -
node JS 中安全和防范之 sql 注入、XSS攻击 和 密码加密
一、安全对于安全,如下所示:sql 注入:窃取数据库内容XSS 攻击:窃取前端的 cookie 内容密码加密:保障用户信息安全server 端攻击方式非常多,预防手段也非常多nodejs 可以通过 web server 层面预防有些攻击需要硬件和服务来支持,需要 OP 支持,如 DDOS二、sql 注入sql 注入,如下所示:最原始、最简单的攻击,从有了 web2.0 就有了 sql 注入攻击攻击方式:输入一个 sql 片段,最终拼接成一段攻击代码预防措施:使用 MyS原创 2020-12-12 00:38:38 · 1643 阅读 · 0 评论 -
node JS 中 Koa2 中间件实现原理分析
一、koa2koa2,如下所示:express 中间件是异步回调,koa2 原生支持 async/await新开发框架和系统,都开始基于 koa2,例如 egg.jsexpress 虽然未过时,但是 koa2 肯定是未来趋势async 和 await 要点:await 后面可以追加 promise 对象,获取 resolve 的值await 必须包裹在 async 函数里面async 函数执行返回的也是一个 promise 对象try-catch 截获 promise 中 r原创 2020-12-10 00:25:29 · 277 阅读 · 1 评论 -
node JS 中 express 中间件实现原理分析
一、expressexpress 中间件,如下所示:app.use 用来注册中间件,先收集起来遇到 http 请求,根据 path 和 method 判断触发哪些实现 next 机制,即上一个通过 next 触发下一个express 中间件的实现内部原理,代码如下所示:const http = require('http')const slice = Array.prototype.sliceclass LikeExpress { constructor () {原创 2020-12-09 00:52:30 · 470 阅读 · 0 评论 -
node JS 项目中日志的应用、拆分及分析
一、nodeJS 中的日志日志,如下所示:访问日志 access log,server 端最重要的日志自定义日志,包括自定义事件、错误记录等nodejs 文件操作,nodejs stream日志功能开发和使用日志文件拆分,日志内容分析日志要存储到文件中,不存储到 mysql 和 redis 中日志的简单应用,代码如下所示:// process.stdin.pipe(process.stdout)// const http = require('http')// cons原创 2020-12-08 00:11:45 · 658 阅读 · 0 评论 -
node JS 处理 http 请求之 GET 和 POST 请求
一、httphttp 请求概述,如下所示:DNS 解析,建立 TCP 连接,发送 http 请求server 接收到 http 请求,处理,并返回客户端接收到返回数据,处理数据,如渲染页面,执行 JSnode JS 处理 http 请求,如下所示:get 请求和 querystringpost 请求和 postdata路由二、node JS 处理 get 请求node JS 处理 get 请求,如下所示:get 请求,即客户端要向 server 端获取数据,如查询原创 2020-12-06 14:28:29 · 1191 阅读 · 0 评论 -
Node JS 初识
一、NVMnvm 可以切换 node 版本,管理 node,下载地址 https://github.com/coreybutler/nvm-windows/releases,如下所示:nvm-noinstall.zip:绿色免安装版,但使用时需进行配置。nvm-setup.zip:安装版,推荐使用nvm 常用命令,如下所示:nvm list 查看当前所有的 node 版本nvm install v10.13.0 安装指定的版本nvm use -delete-prefix 10.1原创 2020-12-05 00:23:31 · 210 阅读 · 0 评论 -
koa+passport+mongoose+redis实现登录、注册、验证和退出的接口
一、koa+passport+mongoose+redis实现登录、注册、验证和退出的接口创建 axios.js 配置文件,通过 npm i axios 下载 axios,通过 axios.create 创建对外暴露的接口,baseURL配置基础路径,判断开发环境,timeout超时时间,headers头部区域,代码如下所示:import axios from 'axios'const...原创 2020-04-25 09:43:42 · 867 阅读 · 2 评论 -
koa+passport+mongoose的身份验证中间件的应用配置
一、koa+passport+mongoose的初应用配置在koa创建的工程项目中,通过 npm i mongoose koa-passport passport-local命令下载对应的工具创建 users.js 文件,引入 mongoose,Schema 是用于定义一些数据表操作,而module是与表操作的相关行为,model 关联 Schema,对外暴露 UserSchema模型,代码...原创 2020-04-25 08:43:10 · 310 阅读 · 0 评论 -
koa2如何实现并串联中间件
一、koa2 实现自定义中间件在 koa2 项目中,创建 middleware 文件夹,用于存放中间件,再在里面创建 m1.js 文件,定义中间件 m1,ctx是维护 request 和response进出 app 的承载,Koa Context将 node 的 request和 response 对象封装到单个对象中,为方便起见许多上下文的访问器和方法直接委托给它们的 ctx.request...原创 2020-04-24 21:33:16 · 417 阅读 · 0 评论 -
node + express + mongodb 从0到1创建一个项目
第一步,安装express,可以通过 npm i express -S 或者是 cnpm i express -S命令进行安装第二步,安装express项目脚手架,可以通过 npm i express-generator -g或者是 cnpm i express-generator -g 命令进行安装第三步,通过express脚手架创建项目,可以通过 express...原创 2019-12-21 00:21:57 · 236 阅读 · 0 评论 -
node.js的fs模块和路由的搭建与配置
一、fs模块//import { fstat } from "fs";// fs模块可以实现文件的读取工作/* fs.writeFile() 异步写入文件fs.writeFileSync() 同步写入文件fs.readFile() 异步读取文件fs.readFileSync() 同步读取文件 */ // 异步读取文件const fs = require("fs");// 第...原创 2019-09-14 11:10:06 · 355 阅读 · 0 评论 -
node.js的http和url模块
一、http模块// 通过require 引入http模块const http = require("http");// createServer 创建服务// 回调函数 request 请求 response 响应let server = http.createServer((req,res)=>{ // write 向客户端输入内容 res.wri...原创 2019-09-14 11:06:26 · 259 阅读 · 0 评论 -
node.js封装mongodb数据库实现增删改查的函数
node.js通过promise的写法封装node.js操作mongodb数据库进行增删改查的函数:const sql = { // 插入数据 insert(Collection, insertData){ return new Promise( (resolve, reject) => { Collection.insertMany( inser...原创 2019-08-09 20:20:31 · 393 阅读 · 0 评论