![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
node
仗剑天涯,从摘要开始
这个作者很懒,什么都没留下…
展开
-
(译)package.json详解
(译)package.json详解原文链接概述本文囊括了所有package.json文件中你需要知道的细节。注意package.json必须是纯JSON的,而不仅仅是一个JavaScript对象字面量。该文件描述的很多行为都受npm-config中的配置影响。下面分别介绍package.json中各个字段的含义和用法。namename和version字段是package....原创 2020-04-11 15:54:05 · 515 阅读 · 0 评论 -
pm2 官方文档 学习笔记
介绍PM2 是进程管理器,是一种应用程序“容器”,用于促进部署,提供高可用性,并支持用户在运行时管理应用程序。除了 PM2,还有类似的工具: StrongLoop Process Manager Forever 这里不做过多介绍,待写。一、安装#1、安装#Copynpm install pm2 -g2、更新#Copynpm install ...原创 2020-03-25 11:27:30 · 240 阅读 · 0 评论 -
通过一个案例理解 JWT
阅读原文JWT 简述JWT(json web token)是为了在网络应用环境之间传递声明而基于json的开放标准,JWT 的声明一般被采用在身份提供者和服务器提供者间传递被认证的身份信息,以便于从资源服务器获取资源。JWT 的应用场景JWT 一般用于用户登录上,身份认证在这种场景下,一旦用户登录完成,在接下来的每个涉及用户权限的请...原创 2020-03-24 03:41:54 · 269 阅读 · 0 评论 -
Express + JWT用户认证最轻实践
Express + JWT用户认证最轻实践最近给自己列了一个list,Ummm...列来列去大概是下面这个样子:React SSR服务端渲染 jwt用户认证 Vue全家桶 微信小程序开发 ... 等等好吧,谁让自己菜呢,没什么好抱怨的,一个一个来吧。正好最近看了一些token做身份认证的文章,发现其中大部分都是说token登录怎么怎么好,反正没有几个认认真真的实现的。。。正好,秉...原创 2020-03-24 03:39:38 · 316 阅读 · 0 评论 -
express持久化到redis配置(全)
const express = require('express')const app = express() // 引入下面3个插件(都需要安装),把session存redis中var session = require('express-session');var redis = require('redis');var RedisStore = require('conne...原创 2020-03-24 03:18:33 · 446 阅读 · 0 评论 -
「翻译」express-session 中间件
前言:最近在使用 express-session 中间件,查看使用的时候有些参数不是很清楚就花了一点时间把文档翻译了一下。其中常用设置中令人迷糊的是 resave 和 saveUnintialized 属性,关于这两个属性,引用来自 CNODE 社区更通熟易懂的解释:resave : 是指每次请求都重新设置 session cookie,假设你的 cookie 是 10 分钟过期,每次请...原创 2020-03-24 02:52:34 · 287 阅读 · 0 评论 -
express生成器文件详解
express项目目录结构1.bin 脚本执行目录(创建服务器)2.node_modules 模块存放目录3.public 公共资源存放处(css,js,图片,视频,上传文件存放处)4.routes 路由文件5.views 视图文件(html)6.Package.json{ "name": "project", //项目名称...原创 2020-03-24 01:35:47 · 414 阅读 · 0 评论 -
node.js中使用socket.io + express进行实时消息推送
socket.io是一个websocket库,包含客户端的js和服务端的node.js,可以在不同浏览器和移动设备上构建实时应用。一、安装 socket.io 1 npm install socket.io 二、通过socket.io创建一个简单应用 1 2 3 4 5 6 7...原创 2020-04-07 11:12:06 · 460 阅读 · 0 评论 -
Express全系列教程之(二):Express的路由以及动态路由
一、Express路由简介路由表示应用程序端点 (URI) 的定义以及响应客户端请求的方式。它包含一个请求方时(methods)、路径(path)和路由匹配时的函数(callback); 1 app.methods(path, callback); 二、Express路由方法Express方法源于 HTTP 方法之一,附加到 exp...原创 2020-04-07 11:12:11 · 247 阅读 · 0 评论 -
Express全系列教程之(十一):渲染ejs模板引擎
一、简介相比于jade模板引擎,ejs对原HTML语言就未作出结构上的改变,只不过在其交互数据方面做出了些许修改,相比于jade更加简单易用。因此其学习成本是很低的。您也可参考ejs官网:https://ejs.bootcss.com/二、ejs基本使用这里我们使用如下配置文件:我们啊可以通过下面的方式实现基本的ejs操作:app.js文件: 1 ...原创 2020-03-23 19:40:15 · 276 阅读 · 0 评论 -
Express全系列教程之(十):jade模板引擎
一、前言随着前端业务的不断发展,页面交互逻辑的不断提高,让数据和界面实现分离渐渐被提了出来。JavaScript的MVC思想也流行了起来,在这种背景下,基于node.js的模板引擎也随之出现。什么是模板引擎?它用于解析动态数据和静态页面所生成的视图文件,将原本静态的数据变为动态,快速地实现页面交互;目前使用较广的模板引擎有以下几种:Jade / Pug、EJS、Handleba...原创 2020-03-23 19:39:04 · 335 阅读 · 0 评论 -
Express全系列教程之(九):将session上传至mysql数据库
一、简介实际引用中,有些公司在不同地区会设置不同服务器,因此就需要用到nginx以实现负载均衡,这时,将session数据保存至数据库就成为了需要面对的问题,我们以MySQL数据库为例,看看他是如何将数据上传至mysql中的。在npm上有一个叫做:express-mysql-session的模块,主要用于将数据上传至mysql数据库,以下为他的实现方式: 1 2 ...原创 2020-03-23 19:37:38 · 144 阅读 · 0 评论 -
Express全系列教程之(五):Express的中间件
一、中间件从字面意思,我们可以了解到它大概就是做中间代理操作,事实也是如此;大多数情况下,中间件就是在做接收到请求和发送响应中间的一系列操作。事实上,express是一个路由和中间件的web框架,Express 应用程序基本上是一系列中间件函数的调用。中间件函数可以执行以下任务:执行任何代码。对请求和响应对象进行更改。结束请求/响应循环。调用堆栈中的下一个中间件函数。...原创 2020-03-23 19:00:15 · 191 阅读 · 0 评论 -
Express全系列教程之(四):获取Post参数的两种方式
一、关于POST请求post方法作为http请求很重要的一部分,几乎所有的网站都有用到它,与get不同,post请求更像是在服务器上做修改操作,它一般用于数据资源的更新。相比于get请求,post所请求的数据会更加安全。上一章中我们发现get请求会在地址栏显示输入的用户名和密码(有中文时会转化为BASE64加密),而post请求则会将数据放入http包的包体中,这使得别人无法直接看到用...原创 2020-03-23 18:59:22 · 852 阅读 · 0 评论 -
Express全系列教程之(七):cookie的加密
一、关于cookie加密cookie加密是让客户端用户无法的值cookie明文信息,是数据安全的重要部分;一般的我们可以在保存cookie时对cookie信息进行加密,或者在res.cookie中对option对象的signed属性设置设置成true即可。二、使用 signed 属性进行cookie加密如下列代码: 1 2 3 4 5 ...原创 2020-03-23 18:58:20 · 140 阅读 · 0 评论 -
Express全系列教程之(六):cookie的使用
一、关于Cookie在我们关闭一个登录过的网址并重新打开它后,我们的登录信息依然没有丢失;当我们浏览了商品后历史记录里出现了我们点击过的商品;当我们推回到首页后,推荐商品也为我们选出了相似物品;事实上当我们有过此类操作后,浏览器会将我们的操作信息保存到cookie上面。阿进而言之,cookie就是储存在用户本地终端上的数据。Cookie的特点 1 2 ...原创 2020-03-23 18:57:20 · 231 阅读 · 0 评论 -
Express全系列教程之(八):session的基本使用
一、关于sessionsession是另一种记录客户状态的机制,与cookie保存在客户端浏览器不同,session保存在服务器当中;当客户端访问服务器时,服务器会生成一个session对象,对象中保存的是key:value值,同时服务器会将key传回给客户端的cookie当中;当用户第二次访问服务器时,就会把cookie当中的key传回到服务器中,最后服务器会吧value值返回给客户端。...原创 2020-03-23 18:55:59 · 244 阅读 · 0 评论 -
在express项目中使用redis
准备工作 安装redis 安装redis桌面管理工具:Redis Desktop Manager 项目中安装redis:npm install redis 开始使用redis使用方法很简单,初始化redis后,就可以使用了,如下: //初始化var redis = require("redis"), client = redis.cre...原创 2020-03-23 17:19:35 · 2244 阅读 · 0 评论 -
multer图片上传
const express = require("express")const router = express.Router()const multer = require("multer") // 配置磁盘引擎let storage = multer.diskStorage({ destination: function(req, file, cb) { ...原创 2020-03-21 14:52:57 · 478 阅读 · 5 评论 -
Multer中文文档
此文档于2016年10月3日翻译时multer的版本是1.2.0,它可能不是最新的!甚至可能存在翻译错误!你可能需要阅读原版英语README此文档仅供参考!MulterMulter 是一个 node.js 中间件,用于处理multipart/form-data类型的表单数据,它主要用于上传文件。它是写在busboy之上非常高效。注意: Multer 不会处理任何非m...原创 2020-03-21 13:06:55 · 1256 阅读 · 0 评论 -
Mocha中文文档
Mocha中文文档javascriptnode.jsmocha发布于 2017-09-26约 54 分钟mocha中文文档这个是对mocha文档的翻译,都是我一个字一个字敲出来的。水平有限,激情无限,欢迎大家批评指正。文档我也放在了我的github上,后续,我会添加一些例子进去,欢迎大家关注和贡献。安装使用npm全局安装:$ npm install --gl...原创 2020-03-21 12:25:46 · 679 阅读 · 0 评论 -
【ApiDoc】官方文档(翻译)
【ApiDoc】官方文档(翻译)本文主要参考ApiDoc官方文档一、apidoc简介apidoc是一款可以有源代码中的注释直接自动生成api接口文档的工具,它几乎支持目前主流的所有风格的注释。例如:Javadoc风格注释(可以在C#, Go, Dart, Java, JavaScript, PHP, TypeScript等语言中使用)/** * This i...原创 2020-03-21 00:20:30 · 330 阅读 · 0 评论 -
Nginx服务器的Websockets配置方法
这篇文章主要介绍了简介Nginx服务器的Websockets配置方法,是使用Nginx服务器的网管的必备知识XD~需要的朋友可以参考下Nginx 1.3.13 已经发布了,该版本支持 Connection: upgrade 和 Upgrade 头,这就意味着支持WebSocket代理了.很多人都在等这个新特性以至于 “Nginx 支持 websockets 吗?” 成为了 freenod...原创 2020-03-20 17:57:04 · 531 阅读 · 0 评论 -
使用Nginx做WebSockets代理教程
使用Nginx做WebSockets代理教程这篇文章主要介绍了使用Nginx做WebSockets代理教程,本文给出了代理配置,和一个完整的node.js实现的WebSockets实例,需要的朋友可以参考下WebSocket 协议提供了一种创建支持客户端和服务端实时双向通信Web应用程序的方法。作为HTML5规范的一部分,WebSockets简化了开发Web实时通信程序的难度。目前主流的浏...原创 2020-03-20 17:46:04 · 783 阅读 · 0 评论 -
Socket零碎知识
首先先给大家介绍一下```io.on()```跟```socket.on()```有什么区别呢,那下面就继续讲解一下```io.on()```跟```socket.on()```事件的区别: 在connection事件的回调函数中,socket表示的是当前连接到服务器的那个客户端。所以代码```socket.emit('foo')```则只有自己收得到这个事件。 socket.bro...原创 2020-03-20 12:45:13 · 175 阅读 · 0 评论 -
JS Socket.IO 发送消息
前言在网上看到有人总结的 JS 的 Socket.IO 库发送消息的相关资料,觉得很不错,在这里做下整理与转载。Socket.IO 发送消息的不同含义 ... // 给本次连接的客户端发消息 socket.emit('hello', 'can you hear me?', 1, 2, 'abc'); // 给除了本次连接的其他所有连接者发消息 socket...原创 2020-03-20 12:37:49 · 722 阅读 · 0 评论 -
node如何使用socket.io向指定客户端发送消息
在node使用socket.io进行websocket通信时,会遇到一个问题 ——服务器如何向指定客户端发送消息,只会群发多么无聊对吧。我们知道,客户端与服务器建立链接会触发connection事件io.on("connection",function(socket){ //其他骚操作});其中,参数socket为服务器与客户端建立连接的socket端口对象,其有一个名为id...原创 2020-03-20 12:17:26 · 893 阅读 · 0 评论 -
[译] socket.io官方文档·下篇
[译] socket.io官方文档·下篇全篇共 7511 字。按500字/分钟阅读,预计用时 15.0 分钟。总访问 603 次,日访问 2 次。socket.io基于WebSocket协议封装,兼容不支持ws的浏览器采用ajax轮询,socket.io为开发者提供服务端和客户端两套库,无需了解全部ws底层原理,好入门,上手快。学会socket.io后可搭建类似QQ和微信这种即时通信工具的...原创 2020-03-19 11:22:06 · 549 阅读 · 0 评论 -
[译] socket.io官方文档·上篇
[译] socket.io官方文档·上篇全篇共 17511 字。按500字/分钟阅读,预计用时 35.0 分钟。总访问 1045 次,日访问 4 次。socket.io基于WebSocket协议封装,兼容不支持ws的浏览器采用ajax轮询,socket.io为开发者提供服务端和客户端两套库,无需了解全部ws底层原理,好入门,上手快。学会socket.io后可搭建类似QQ和微信这种即时通信工...原创 2020-03-19 11:20:12 · 257 阅读 · 0 评论 -
node_redis 中文文档及node_redis 注释笔记(中文版)
node_redis 中文文档及node_redis 注释笔记(中文版)https://github.com/NodeRedis/node_redisredis - a node.js redis client这是node.js的一个完整且功能丰富的Redis客户端。它支持所有的Redis命令,并专注于高性能。Install with:npminstallredisU...原创 2020-03-18 13:12:09 · 2960 阅读 · 0 评论 -
socket.io 中文案例文档 (官方socket.io聊天应用demo翻译)
socket.io 中文案例文档 (官方socket.io聊天应用demo翻译)英文原文 http://socket.io/get-started/chat/Get Started: Chat applicationIn this guide we’ll create a basic chat application. It requires almost no basic pri...原创 2020-03-18 13:08:54 · 1188 阅读 · 0 评论 -
【node】------mongoose的基本使用
1、安装mongoosenpm install mongoose2、启动数据库mongod --dbpath d:\data\db3、引入mongoose模块并连接数据库const mongoose = require("mongoose");mongoose.connect("mongodb://127.0.0.1:27017/test1",func...原创 2020-03-13 15:24:04 · 128 阅读 · 0 评论 -
Promise.resolve()与new Promise(r => r(v))
Promise.resolve方法的参数分成四种情况。参数是一个 Promise 实例如果参数是 Promise 实例,那么Promise.resolve将不做任何修改、原封不动地返回这个实例。这是一个特殊的情况会和另一种new Promise(r => r(v))产生不一样的效果,最后说明参数是一个thenable对象thenable对象指的是具有then方法的对象,比如下...原创 2020-03-13 12:15:54 · 5210 阅读 · 0 评论 -
promise是什么?
promise是什么?1、主要用于异步计算2、可以将异步操作队列化,按照期望的顺序执行,返回符合预期的结果3、可以在对象之间传递和操作promise,帮助我们处理队列为什么会有promise?为了避免界面冻结(任务) 同步:假设你去了一家饭店,找个位置,叫来服务员,这个时候服务员对你说,对不起我是“同步”服务员,我要服务完这张桌子才能招呼你。那桌客人明明已经吃上了,你只是想要...原创 2020-03-13 12:13:30 · 112 阅读 · 0 评论 -
apiDoc - 超简单的文档生成器
大家所熟知的API文档有swagger等, 今天给大家推荐一个写注释就能生成文档的工具, 真的很简单!http://apidocjs.com/快速开始第一步, 老规矩~装环境~npm install apidoc -g第二步, 新建一个项目文件结构src: 打算放注释文档的文件, 先只建一个文件(file1.js, 不用纠结这些注释含义, 后面会详解)代码如下...原创 2020-03-11 23:36:03 · 267 阅读 · 0 评论 -
apiDoc 使用指南
安装安装node.js 安装apiDocnpm install apidoc -g配置在你的项目根目录下新建apidoc.json文件,该文件描述了项目对外提供接口的概要信息如名称、版本、描述、文档打开时浏览器显示标题和接口缺省访问地址。apidoc.json{ "name": "ServiceEbikeAPIs", "version": "3.1.0", "...原创 2020-03-11 23:31:07 · 264 阅读 · 1 评论 -
nodejs中的promise基本操作
1.为什么要使用promise/*需求:异步的按顺序去读取1.txt、2.txt、3.txt文件的内容假设 1.txt内容为111 、2.txt内容为222、3.txt内容为333*/var fs = require('fs');、 fs.readFile('./files/1.txt','utf8',function(err,data){ if(err){ ...原创 2020-03-11 17:01:35 · 1672 阅读 · 0 评论 -
基于Node的Promise使用介绍
异步操作常见语法:(1)基于事件的监听机制,常见的如在dom节点上绑定click、blur等事件:(2)基于回调。先调用外部函数,例如下面的$.ajax,然后再传入一个回调函数,当外部函数执行完毕后,回调函数就会被触发promise产生的原因(1)解决同步问题(2)解决无穷回调在浏览器中,异步操作主要以事件为主,回调请求一般出现在网络请求或文件API中。...原创 2020-03-11 17:00:16 · 1577 阅读 · 0 评论 -
vscode调试node.js项目
vscode调试node.js项目一般有三种情况:1.vscode启动调试服务端,直接运行要调试的入口文件,开发时比较适合,目前好像只能运行js文件,ts文件可能有点难度2.远程调试,需要远程服务端以调试模式先运行起来,然后本地根据host、post连接远程调试服务器3.本地根据进程调试,需要本地服务端先运行起来,然后本地根据进程id附加到指定进行调试,不需要服务端以调试模式运行vscod...原创 2020-03-10 22:18:21 · 2701 阅读 · 0 评论 -
通读cheerio API
所谓工欲善其事,必先利其器,所以通读了cheerio的API,顺便翻译了一遍,有些地方因为知道的比较少,不知道什么意思,保留了英文,希望各位不吝告诉我,然后一起把这个翻译完成。###cheerio 为服务器特别定制的,快速、灵活、实施的jQuery核心实现. ###Introduction 将HTML告诉你的服务器var cheerio = require('cheerio'), ...原创 2020-03-07 14:57:14 · 124 阅读 · 0 评论