![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
nodejs
踏着阳光
这个作者很懒,什么都没留下…
展开
-
nodejs 文件操作
import fs from 'fs';import path from 'path';import glob from 'glob';import mkdirp from 'mkdirp';import rimraf from 'rimraf';export const readFile = file => new Promise((resolve, reject) => { fs.readFile( file, 'utf8', (.原创 2020-09-08 12:13:53 · 203 阅读 · 0 评论 -
snowflake算法解决分布式ID自动生成
nodejs版本实现https://www.npmjs.com/package/node-snowflake#see-examplesexamplejs//only run simple http serverrequire('node-snowflake').Server(3001);//request url example:GET http://localhost:3001/next_id?worker_id={optional}&data_center_id={option.转载 2020-08-27 01:13:11 · 2102 阅读 · 0 评论 -
nodejs 自动重启工具nodemon
https://www.npmjs.com/package/nodemon全局安装npm install -g nodemon启动程序nodemon [your node app]原创 2020-07-01 20:43:32 · 286 阅读 · 0 评论 -
node redis锁的实现
锁是一种同步机制,用于保证一项资源在任何时候只能被一个进程使用,如果有其他进程想要使用相同的资源,那么就必须等待,直到正在使用资源的进程放弃使用权为止。const redis = require("redis"), client = redis.createClient();client.on("error", function (err) { console.log("...原创 2020-03-09 23:18:26 · 1167 阅读 · 0 评论 -
js 使用占位符拼接字符串
String.prototype.format = function() { if(arguments.length == 0) return this; var param = arguments[0]; var s = this; if(typeof(param) == 'object') { for(var key in param) ...原创 2019-11-25 15:51:21 · 2281 阅读 · 0 评论 -
Nodejs定时任务Node Schedule
https://www.npmjs.com/package/node-schedule原创 2019-11-15 13:34:29 · 420 阅读 · 0 评论 -
setTimeout与resolve、setImmediate比较
//setTimeout是在下一轮“事件循环”的开始时setTimeout(function () { console.log('three');}, 0);//立即resolve()的 Promise 对象,是在本轮“事件循环”(event loop)的结束时执行Promise.resolve().then(function () { console.log('two...原创 2019-11-15 13:29:51 · 551 阅读 · 0 评论 -
node mysql orm框架 Sequelize
https://github.com/sequelize/sequelizehttps://github.com/demopark/sequelize-docs-Zh-CNhttps://sequelize.org/master/manual/getting-started.htmlhttps://www.npmjs.com/package/mysql-model-ormhttps...原创 2019-10-15 16:18:17 · 713 阅读 · 0 评论 -
JSON Web Token 入门教程
npm 官网https://www.npmjs.com/package/jsonwebtoken官网https://jwt.io/introduction/koa 使用https://segmentfault.com/a/1190000015255975JSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案,本文介绍它的原理和用法。一、跨域认证的问题...转载 2019-04-16 16:54:41 · 531 阅读 · 0 评论 -
NodeJS充分利用多核CPU以及它的稳定性
NodeJS是基于chrome浏览器的V8引擎构建的,也就说明它的模型与浏览器是类似的。我们的javascript会运行在单个进程的单个线程上。这样有一个好处: 状态单一 没有锁 不需要线程间同步 减少系统上下文的切换 有效提高单核CPU的使用率 但是V8引擎的单进程单线程并不是完美的结构,现如今CPU基本上都是多核的。真正的服务器往往有好几...转载 2019-04-16 18:02:02 · 6124 阅读 · 0 评论 -
node 对文件的操作
1打开文件fs.open(path, flags[, mode], callback)参数:path<string>|<Buffer>|<URL>flags<string>|<number>参阅支持的文件系统标志。mode<integer>默认值:0o666(可读写)。call...原创 2019-04-25 19:06:08 · 801 阅读 · 0 评论 -
nodejs 多线程
https://blog.csdn.net/weixin_33850890/article/details/87951062原创 2019-04-16 18:09:44 · 4476 阅读 · 0 评论 -
Docker化Node.js Web应用程序
docker 官网https://docs.docker.com/get-started/part3/此示例的目的是向您展示如何将Node.js应用程序放入Docker容器中。该指南旨在用于开发,而不用于生产部署。本指南还假设您已经安装了Docker,并且对Node.js应用程序的结构有了基本的了解。在本指南的第一部分中,我们将在Node.js中创建一个简单的Web应用程序,然后我们将为...原创 2019-06-21 15:37:50 · 291 阅读 · 0 评论 -
PM2 API文档
https://pm2.io/doc/en/runtime/overview/原创 2019-04-16 13:42:20 · 2493 阅读 · 0 评论 -
Nodejs REST应用框架 restify
http://restify.com/原创 2019-04-16 11:21:16 · 880 阅读 · 0 评论 -
node 原生实现websocket
server.jsconst http = require('http');const crypto = require('crypto');const server = http.createServer(function (req,res) { res.writeHead(200,{'Content-type':'text/plain'}); res.end('h...原创 2019-04-12 18:13:28 · 930 阅读 · 0 评论 -
node koa-session 用redis存储session
参考https://www.npmjs.com/package/koa-session21 安装npm install koa-session22 app.jsconst Koa = require('koa');const app = new Koa();const session = require('koa-session2');const Store = r...原创 2019-03-29 11:45:33 · 2804 阅读 · 0 评论 -
ue4 html 基于nodejs-websocket 网络连接
客户端 :html<!DOCTYPE HTML><html> <head> <meta charset="utf-8"> <title</title> <script type="text/javascript"> if ("WebSock...原创 2019-03-28 17:21:13 · 1845 阅读 · 2 评论 -
node cookie session
在web应用中,多个请求之间共享“用户会话”是非常必要的。但HTTP1.0协议是无状态的。那这时Cookie就出现了。那Cookie又是如何处理的呢?Cookie的处理:服务端向客户端发送Cookie 客户端的浏览器把Cookie保存 然后在每次请求浏览器都会将Cookie发送到服务端在HTML文档被发送之前,Web服务器通过传送HTTP 包头中的Set-Cookie消息把一个co...转载 2019-03-28 14:04:19 · 117 阅读 · 0 评论 -
node 解析和生成xml
// 解析xmlconst Xml2js = require('xml2js');const Parser = new Xml2js.Parser({explicitArray: false, ignoreAttrs: false});var xml = "<root>Hello xml2js!</root>"Parser.parseString(xml , ...原创 2019-04-01 18:33:03 · 4632 阅读 · 0 评论 -
Mongoose 多条件模糊查询
关于mongoose如何实现类似于SQL中nick LIKE '%keyword%' or email LIKE '%keyword%'这种多条件模糊搜索的问题。 查阅了mongoose文档才得以实现,特此记录一下。主要用到了query.$or和query.$regex这两个find参数。其中query.$or用于实现多条件查询,其值是一个数组。相关文档示例代码:query....转载 2019-04-19 16:01:45 · 3604 阅读 · 1 评论 -
EJS 中文文档
安装$ npm install ejs特性 <% %>用于控制流 <%= %>用于转义的输出 <%- %>用于非转义的输出 -%>结束标签用于换行移除模式 带有<%_ _%>的控制流使用空白字符移除模式 自定义分隔符 (例如,使用 '<? ?>' 代替 '&l...转载 2019-04-19 16:27:03 · 4683 阅读 · 0 评论 -
window下webstorm使用bable-node启动工程
如果出现 `v8debug is not defined` 请不要忽略 Node parameters: --expose_debug_as=v8debug -- //不要忽略后面的两个 --Application parameters: 这个是项目中的参数, 使用`process.argv`获取。 Environment variables: 环境变量相关, 比如: `N...原创 2019-08-27 14:18:25 · 156 阅读 · 0 评论 -
nodejs 处理图像模块
2 Node.js轻量级跨平台图像编解码库imagesnpm 地址https://www.npmjs.com/package/node-imagesvar images = require("images"); images("input.jpg") //Load image from file ...原创 2019-08-21 10:09:44 · 4291 阅读 · 0 评论 -
node MD5加密
const crypto = require('crypto');class MD5 { //随机盐值 getRandomSalt() { return Math.random().toString().slice(2, 6); } //md5加密数据 cryptPwd(password, salt) { // 密码加盐...原创 2019-08-23 18:06:30 · 629 阅读 · 0 评论 -
process.env环境变量配置
建立package.json文件{ "name": "test", "version": "1.0.0", "description": "", "main": "a.js", "scripts": { "dev": "set NODE_ENV=development&& node a.js", "dev2": "export NODE_E...原创 2019-07-23 18:59:59 · 23809 阅读 · 0 评论 -
node promise 实现sleep函数
async function test() { console.log('开始'); await sleep(4000); console.log('结束');}function sleep(ms) { return new Promise(resolve => { setTimeout(resolve, ms); })}t...原创 2019-07-06 12:46:28 · 1186 阅读 · 0 评论 -
node 实现EventEmitter完整模块
node的事件模块只包含了一个类:EventEmitter。这个类在node的内置模块和第三方模块中大量使用。EventEmitter本质上是一个观察者模式的实现,这种模式可以扩展node在多个进程或网络中运行。本文从node的EventEmitter的使用出发,循序渐进的实现一个完整的EventEmitter模块。EventEmitter模块的基本用法和简单实现 node中常用的Even...转载 2019-07-05 20:47:09 · 443 阅读 · 0 评论 -
nodejs操作消息队列RabbitMQ
安装RabbitMQhttps://blog.csdn.net/qq_35014708/article/details/93232033一. 什么是消息队列消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已。其主要用途:不同进程Process/线程Thread之间通信。为什么会产生消息队列?有...原创 2019-06-21 21:59:00 · 9721 阅读 · 1 评论 -
Windows环境下安装RabbitMQ
1 先安装Erlang,再安装RabbitMQ,按提示步骤安装,下载地址https://www.rabbitmq.com/install-windows.htmlhttp://www.erlang.org/downloads2 添加可视化插件打开RabbitMq 的cmd命令框运行命令rabbitmq-plugins enable rabbitmq_management...原创 2019-06-21 21:04:15 · 461 阅读 · 0 评论 -
Koa2 中间件简易洋葱圈模型
整个核心功能在于 compose,这个用于压缩所有被 use 调用过的中间件之上。每一次 use 一个新的中间件的时候,将其 push 进对象里边的成员变量 middlewares 当中。所以重点就是要在 compose 当中进行递归,以合成最终要调用的那个函数,在监听到 request 请求的时候,将上下文对象 context 传入其中,最终完成整个所有中间件按照 洋葱圈 的模型去执行。既...转载 2019-06-20 23:24:37 · 1398 阅读 · 0 评论 -
node 基于stream的文件操作
1 读取文件信息var fs = require("fs");var data = '';// 创建可读流var readerStream = fs.createReadStream('input.txt');// 设置编码为 utf8。readerStream.setEncoding('UTF8');// 处理流事件 --> data, end, and error...原创 2019-05-24 16:07:01 · 488 阅读 · 0 评论 -
NW.js 打包网页成exe桌面应用
NW.js中文网https://nwjs.org.cn/doc/index.html可以用来开发桌面应用的js框架有三种:1.NW.jsNW.js是Intel的工程师写的一个基于node.js和chromium的应用程序运行环境。项目地址是:https://github.com/rogerwang/node-webkit2.ElectronElectron是一款利用W...转载 2019-04-03 18:57:38 · 10735 阅读 · 3 评论 -
node soap使用
1 安装模块 npm install soap客户端连接const Xml2js = require('xml2js');const Parser = new Xml2js.Parser({explicitArray: false, ignoreAttrs: false});const Soap = require('soap');var args = {name: 'v...原创 2019-04-01 18:26:43 · 2082 阅读 · 0 评论 -
node 基于datatables 实现服务端分页
参考http://www.datatables.club/manual/#data前端网页<!-- DataTables CSS --><link rel="stylesheet" type="text/css" href="http://cdn.datatables.net/1.10.15/css/jquery.dataTables.css"> <...原创 2019-03-28 12:01:00 · 284 阅读 · 0 评论 -
node express 建立文件上传服务器
1 前端上传采用 webuploader 上传插件http://fex.baidu.com/webuploader/getting-started.html<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title>1</title> &a原创 2019-03-11 19:30:45 · 566 阅读 · 0 评论 -
node mongoose操作
参考https://mongoosejs.com/docs/connections.htmlmongoose 学习笔记https://segmentfault.com/a/1190000010688972mongoose 增删查改笔记https://segmentfault.com/a/11900000082450621 安装npm install mongoose...原创 2019-03-19 19:17:25 · 129 阅读 · 0 评论 -
javascript 实用工具库 Lodash
http://lodash.think2011.net/pullhttps://www.lodashjs.com/docs/4.17.5.html#differenceByhttps://www.lodashjs.com/原创 2019-01-30 19:12:34 · 132 阅读 · 0 评论 -
node 表单校验
express校验https://www.npmjs.com/package/express-validatorhttps://express-validator.github.io/docs/filter-api.htmlkoa 校验https://www.npmjs.com/package/koa-validatorhttps://github.com/RocksonZe...原创 2019-01-30 18:39:56 · 1187 阅读 · 0 评论 -
node 文件操作
var path = require('path');var fs = require('fs');//检测文件是否存在fs.stat(path.join(__dirname, './mysql.js'), function(err, stat) { if (err && err.code == 'ENOENT') { } //对象描述常规文件,...原创 2019-01-30 15:52:34 · 92 阅读 · 0 评论