
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 · 267 阅读 · 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 · 2219 阅读 · 0 评论 -
nodejs 自动重启工具nodemon
https://www.npmjs.com/package/nodemon全局安装npm install -g nodemon启动程序nodemon [your node app]原创 2020-07-01 20:43:32 · 372 阅读 · 0 评论 -
node redis锁的实现
锁是一种同步机制,用于保证一项资源在任何时候只能被一个进程使用,如果有其他进程想要使用相同的资源,那么就必须等待,直到正在使用资源的进程放弃使用权为止。const redis = require("redis"), client = redis.createClient();client.on("error", function (err) { console.log("...原创 2020-03-09 23:18:26 · 1249 阅读 · 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 · 2366 阅读 · 0 评论 -
Nodejs定时任务Node Schedule
https://www.npmjs.com/package/node-schedule原创 2019-11-15 13:34:29 · 473 阅读 · 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 · 605 阅读 · 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 · 767 阅读 · 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 · 215 阅读 · 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 · 676 阅读 · 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 · 4391 阅读 · 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 · 23899 阅读 · 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 · 1224 阅读 · 0 评论 -
node 实现EventEmitter完整模块
node的事件模块只包含了一个类:EventEmitter。这个类在node的内置模块和第三方模块中大量使用。EventEmitter本质上是一个观察者模式的实现,这种模式可以扩展node在多个进程或网络中运行。本文从node的EventEmitter的使用出发,循序渐进的实现一个完整的EventEmitter模块。EventEmitter模块的基本用法和简单实现 node中常用的Even...转载 2019-07-05 20:47:09 · 492 阅读 · 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 · 9836 阅读 · 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 · 495 阅读 · 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 · 341 阅读 · 0 评论 -
Koa2 中间件简易洋葱圈模型
整个核心功能在于 compose,这个用于压缩所有被 use 调用过的中间件之上。每一次 use 一个新的中间件的时候,将其 push 进对象里边的成员变量 middlewares 当中。所以重点就是要在 compose 当中进行递归,以合成最终要调用的那个函数,在监听到 request 请求的时候,将上下文对象 context 传入其中,最终完成整个所有中间件按照 洋葱圈 的模型去执行。既...转载 2019-06-20 23:24:37 · 1480 阅读 · 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 · 543 阅读 · 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 · 999 阅读 · 0 评论 -
EJS 中文文档
安装$ npm install ejs特性 <% %>用于控制流 <%= %>用于转义的输出 <%- %>用于非转义的输出 -%>结束标签用于换行移除模式 带有<%_ _%>的控制流使用空白字符移除模式 自定义分隔符 (例如,使用 '<? ?>' 代替 '&l...转载 2019-04-19 16:27:03 · 4727 阅读 · 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 · 3722 阅读 · 1 评论 -
nodejs 多线程
https://blog.csdn.net/weixin_33850890/article/details/87951062原创 2019-04-16 18:09:44 · 4537 阅读 · 0 评论 -
NodeJS充分利用多核CPU以及它的稳定性
NodeJS是基于chrome浏览器的V8引擎构建的,也就说明它的模型与浏览器是类似的。我们的javascript会运行在单个进程的单个线程上。这样有一个好处: 状态单一 没有锁 不需要线程间同步 减少系统上下文的切换 有效提高单核CPU的使用率 但是V8引擎的单进程单线程并不是完美的结构,现如今CPU基本上都是多核的。真正的服务器往往有好几...转载 2019-04-16 18:02:02 · 6236 阅读 · 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 · 616 阅读 · 0 评论 -
PM2 API文档
https://pm2.io/doc/en/runtime/overview/原创 2019-04-16 13:42:20 · 2562 阅读 · 0 评论 -
Nodejs REST应用框架 restify
http://restify.com/原创 2019-04-16 11:21:16 · 919 阅读 · 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 · 991 阅读 · 0 评论 -
nw 窗口操作
<script> //获取当前窗口 var win = nw.Window.get(); // 监听最小化事件 win.on('minimize', function() { console.log('Window is minimized'); }); // 窗口最小化 //win.minimize(); win.close(); ...原创 2019-04-04 15:03:08 · 1010 阅读 · 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 · 10904 阅读 · 3 评论 -
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 · 4701 阅读 · 0 评论 -
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 · 2726 阅读 · 0 评论 -
node oracledb安装与使用
npm官网https://www.npmjs.com/package/oracledbnode-oracledb apihttps://oracle.github.io/node-oracledb/doc/api.html#getstartednode-oracledb例子https://github.com/oracle/node-oracledb/blob/master/ex...原创 2019-04-01 17:23:38 · 4988 阅读 · 0 评论 -
node-windows 加入window server服务,开机自启动
全局安装npm install -g node-windows或在项目中安装npm install node-windows --save写启动脚本nodeWindow.jsvar Service = require('node-windows').Service; // Create a new service objectvar svc = new Serv...原创 2019-04-01 16:10:31 · 1427 阅读 · 0 评论 -
RESTful API 最佳实践
RESTful是目前最流行的 API 设计规范,用于 Web 数据接口的设计。它的大原则容易把握,但是细节不容易做对。本文总结 RESTful 的设计细节,介绍如何设计出易于理解和使用的 API。一、URL 设计1.1 动词 + 宾语RESTful 的核心思想就是,客户端发出的数据操作指令都是"动词 + 宾语"的结构。比如,GET /articles这个命令,GET是动词,/...转载 2019-03-29 17:36:22 · 80 阅读 · 0 评论 -
Node.js安全清单
前言安全性,总是一个不可忽视的问题。许多人都承认这点,但是却很少有人真的认真地对待它。所以我们列出了这个清单,让你在将你的应用部署到生产环境来给千万用户使用之前,做一个安全检查。以下列出的安全项,大多都具有普适性,适用于除了Node.js外的各种语言和框架。但是,其中也包含一些用Node.js写的小工具。配置管理安全性相关的HTTP头以下是一些安全性相关的HTTP头,你的站点应...转载 2019-03-29 16:44:27 · 196 阅读 · 0 评论 -
node koa-helmet 提高网站安全性
安装npm install koa-helmet --save使用const Koa = require("koa");const helmet = require("koa-helmet");const app = new Koa(); app.use(helmet()); app.use((ctx) => { ctx.body = "Hello World...原创 2019-03-29 16:41:03 · 1592 阅读 · 0 评论 -
node Koa Compress中间件-压缩数据
const Koa = require('koa');const app = new Koa();const compress = require('koa-compress');// compress dataapp.use(compress({ filter: function (content_type) { //只有在请求的content-type中有gzip类型...原创 2019-03-29 16:22:01 · 1054 阅读 · 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 · 2861 阅读 · 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 · 1904 阅读 · 2 评论