node
奔跑的大象
QQ:763098346
Email:763098346@QQ.com
展开
-
npm install no such file or directory, open 异常处理
错误描述npm WARN saveError ENOENT: no such file or directory, open 'C:\Users\Administrator\package.json'npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\Administrator\package.json'npm WARN Administrator No descriptionnpm WARN Administrat原创 2022-03-17 16:13:38 · 4561 阅读 · 0 评论 -
Node WebSocket 数据解压
在Node中使用nodejs-websocket发送接收数据,例如发送如下数据包\{"route":"ping","data":{}} 接收端接收到的数据为:[129,154,84,20,211,1,47,54,161,110,33,96,182,35,110,54,163,104,58,115,241,45,118,112,178,117,53,54,233,122,41,105,129,154,84,20,211,1,47,54,161,110,33...原创 2021-11-12 10:51:19 · 2014 阅读 · 0 评论 -
Node中Buffer的使用(UTF8与字符串的转换使用)
上代码//创建缓冲区let bufferOne = Buffer.from('Hello World');console.log(JSON.stringify(bufferOne)); //输出 {"type":"Buffer","data":[72,101,108,108,111,32,87,111,114,108,100]}//将 Buffer 转换为 UTF-8 字符串console.log(bufferOne.toString('utf8'))原创 2021-11-12 10:43:40 · 2758 阅读 · 0 评论 -
node 开发部署 HTTP与HTTPS后端接口
关于如何生成签名文件可以参考我的文章:传送门中的OpenSSL 安装与生成SSL证书段。node相关的代码如下:var express = require('express');var https = require('https');var http = require('http');var fs = require('fs');//同步读取密钥和签名证书var options = { key:fs.readFileSync('./keys/server.ke...原创 2021-11-09 13:46:42 · 2172 阅读 · 0 评论 -
windows下搭建 https + node.js + nginx
参考原文地址:windows 下搭建https + node.js + nginx | 船长的技术博客先说需求,有一个https的主域名,主域名下有三个子域名,三个子域名需要指向同一台服务器的三个端口,需要同时支持http和https的请求。子域名A -----> http://127.0.0.1:10000https://127.0.0.1:10000子域名B -----> http://127.0.0.1:10001https://127.0.0.1:10001子域...原创 2021-11-09 13:41:28 · 1111 阅读 · 0 评论 -
Node中使用RPC
使用第三方组件:pomelo-rpc-wsDemo下载启动服务端:#进入server目录,执行命令:node app如下图:启动客户端:#进入client目录,执行命令:node app如下图:原创 2021-09-25 16:44:06 · 546 阅读 · 0 评论 -
关于 PM2 Daemon 进程,内存爆涨的问题分析及解决
PM2Daemon进程内存占用持续上涨,很大原因可能不是本身的原因,大概率是使用PM2启动启动的服务内存存在问题,而导致PM2Daemon进程内存持续上涨。 解决问题的思路:解决Node中内存问题,最好的解决方案就是抓取内存堆快照。 抓取PM2启动进程的内存堆快照,请前往我的这篇文章。CSDNhttps://mp.csdn.net/mp_blog/creation/editor/120100534 本文主要讲解如何抓取PM2...原创 2021-09-11 11:36:08 · 3892 阅读 · 0 评论 -
pm2启动增加调试参数 使用chrome浏览器调试
增加参数:"node_args":["--inspect=9949"]完整配置如下:{ "apps":[ { "name": "master", "script": "./master/app.js", "cwd": "./", "args": "NODE_ENV=production serverName=master serverType=master serverId=master", "node_args":["--i原创 2021-09-04 15:29:11 · 1038 阅读 · 0 评论 -
slice 与 splice 使用区别
vararray=[1,2,3];//浅拷贝,不影响源数据varresult_a=array.slice(1);console.log("array=%sresult_a=%s",JSON.stringify(result_a),JSON.stringify(array));//输出array=[2,3]result_a=[1,2,3]//深拷贝,影响源数据varresult_b=array.splice(1);console.log("arr...原创 2021-06-17 17:33:18 · 164 阅读 · 0 评论 -
记一次 Redis 配置问题,导致无法连接的问题。
环境如下:1、开发环境-测试服器A,部署了redis,如IP为:192.168.1.52、本机开发,如IP为:192.168.1.203、代码中,resi的配置为如下:exports.redis = () => { return { port: 6379, ip: "192.168.1.5", pwd: '123456', };};4、启动程序后,连接redis,报如下错误:[2021-05-02T11:13:06.059] [ERROR]原创 2021-05-02 11:19:16 · 4521 阅读 · 0 评论 -
Node.js 文件读取与写入
同步读取var fs = require('fs');var content = fs.readFileSync("./data.json", 'utf-8');if (!content) { return true;}try { var data = JSON.parse(content); console.log(JSON.stringify(data));} catch (e) { logger.error("dataFile is fail ero原创 2021-04-08 13:41:46 · 232 阅读 · 0 评论 -
Node.JS 字符连接
var val1 = ['a','b','c','d'].join('_');//输出日志console.log("val1=%s", JSON.stringify(val1)); //输出:val1="a_b_c_d"原创 2020-12-18 19:44:35 · 801 阅读 · 1 评论 -
Node.JS 连接Redis操作
需要安装依赖包npm install redis实现代码如下:var redis = require('redis');var host = 'redis_host';var port = 6379;var db = 0;var family = 4;var auth_pass = 'redis_password';var dbredis = redis.createClient({ host: host, port: port, db: 5,原创 2020-12-17 10:52:42 · 1121 阅读 · 0 评论 -
Node.JS EXCEL 读取操作
表数据如下:实现代码如下:注:使用命令安装依赖包npm install xlsxvar fs = require('fs');var xlsx = require('xlsx');//读取execel文件var workbook = xlsx.readFile("data.xls");//用户表数据var userTableData = [];//部门表数据var departmentTableData = [];//循环读取表数据for (var va.原创 2020-12-17 10:52:38 · 5040 阅读 · 0 评论 -
Node.JS EXCEL 写入操作
写入多张表操作,效果图如下:实现代码如下:注:使用下面的安装依赖包npm install node-xlsxvar fs = require('fs');var xlsx = require('node-xlsx');//写入Excel数据{ //excel数据 var excelData = []; //表1 { //添加数据 var addInfo = {}; //名称 ..原创 2020-12-17 10:52:40 · 3848 阅读 · 0 评论 -
Node.JS 日志数据提取
日志数据如下:[2020-01-09 15:54:29.738] [INFO] txt - [logger-info][{"userid":10000, "nickname":"张三", "sex":0, "age":15}][2020-01-09 15:54:29.738] [INFO] txt - [logger-info][{"userid":10001, "nickname":"李四", "sex":1, "age":19}][2020-01-09 15:54:29.738] [INFO]原创 2020-12-17 10:52:35 · 453 阅读 · 0 评论 -
Node.JS 验证某个时间是否在某个时间段内(精确到毫秒)
上篇文章实现了验证某个时间点是否在另外一个时间区间的逻辑(以小时为单位判断)。本篇文章实现精确到毫秒的实现。另外举2个场景需求:场景1:商城增加了一个活动,活动时间为每天早上8点~20点。场景2:商城增加了一个活动,活动时间为每天22点~第二天的3点。如果是场景1这种情况,实现很简单,只需要判断当前时间是否在>=8 && <=12 即可。但是不适用于场景2.根据上面的需求,实现代码支持场景1与场景2两种情况,代码如下:/** * 获取当..原创 2020-12-16 15:15:15 · 827 阅读 · 0 评论 -
Node.JS 验证某个时间是否在某个时间段内(以小时为单位判断)
时间点的验证需要考虑跨天的情况:下面分别列举2种情况,情况1:验证凌晨3点,是否在22点~19点这个区间。跨天的情况下,22点~19点的时间点,分别为:22,23,24,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19。可以看到3点在22点~19点的区间。情况 2:验证凌晨3点是否在22点~2点这个区间。跨天的情况下,22点~2点的区间,分别为:22,23,24,1,2可以看到3点不在22点~2点的区间。下面是实现上面..原创 2020-12-16 14:41:22 · 1143 阅读 · 0 评论 -
Node.JS 时间戳与字符串的相互转换
/** * 字符时间转时间戳(返回毫秒) */function strTimeToTimeStamps(strtime) { //时间转换 var date = new Date(strtime); //获取时间戳 var timeStamps = Date.parse(date); return timeStamps;}/** * 时间戳转字符时间 * @param {*} nTimeStamps */function timeStampsT.原创 2020-12-16 14:27:28 · 2886 阅读 · 0 评论 -
Node.JS 根据时间戳获取年月日时分秒
/** * 获取当前时间戳(秒) */function getNowSceond(){ return Math.floor(Date.now() / 1000);}/** * 根据时间戳获取年,月,日,时,分,秒 * @param {*} nTimeStamps */function getTimeInfo(nTimeStamps) { //转毫秒 var date = new Date(nTimeStamps * 1000); //返回数据 var.原创 2020-12-16 14:22:28 · 4017 阅读 · 0 评论 -
Node.JS 获取时间戳(毫秒,秒)
/** * 获取当前时间戳(毫秒) */function getNowMilliSecond(){ return Math.floor(Date.now());}/** * 获取当前时间戳(秒) */function getNowSceond(){ return Math.floor(Date.now() / 1000);}//当前时间戳(毫秒)console.log("curMilliSecond=%d",getNowMilliSecond()); //输出:curMi.原创 2020-12-16 11:47:02 · 8800 阅读 · 0 评论 -
Node.JS 取2个数之间的中间数
var s = 21;var t = 8;var m = (s & t) + ((s ^ t) >> 1);console.log("m=%d",m); //输出:m=14原创 2020-12-16 11:40:48 · 1101 阅读 · 0 评论 -
Node.JS 数组拷贝
//数据数组var valArray = [0,1,2,3,4,5,6];//拷贝数据(全拷贝)var valArrayTemp1 = [].concat(valArray);//输出日志console.log(JSON.stringify(valArrayTemp1));//拷贝数据(从下标1开始拷贝)var valArrayTemp2= [].concat(valArray).splice(1);//输出日志console.log(JSON.stringify(valArray..原创 2020-12-15 19:42:00 · 926 阅读 · 0 评论 -
Node.JS 根据圆半径、角度值计算圆周坐标
//圆点坐标var dots = { x:30, y:30};//半径var radius = 30;//角度var angle = 0;//角度计算for(var i=0; i<12; i++){ //角度值 var itemAngle = i * 30; //坐标 var x = dots.x + radius * Math.sin(itemAngle * 3.14 / 180); var y = dots.y + rad.原创 2020-12-16 11:19:56 · 1657 阅读 · 1 评论 -
Node.JS 验证文件是否存在
//文件操作var fs = require('fs');/** * 验证文件是否存在 * @param {*} path */function isFileExist(path) { try{ fs.accessSync(path,fs.F_OK); }catch(e){ return false; } return true;}//使用示例////////////////////////////////文件路径va.原创 2020-12-16 11:21:33 · 754 阅读 · 0 评论 -
Node.JS 字符分割
var val1 = "2,200";var val2 = "2,200;1,100";//分割字符var dataArray1 = val1.split(";");var dataArray2 = val2.split(";");//输出日志console.log("dataArray1=%s", JSON.stringify(dataArray1)); //输出:dataArray1=["2,200"]console.log("dataArray2=%s", JSON.string.原创 2020-12-16 11:16:15 · 1128 阅读 · 0 评论 -
Node.JS 改变数组长度
//数据数组var valArray = [1,2,3,4,5,6,7,8,9];//输出数据console.log("valArray=" + JSON.stringify(valArray)); //输出:valArray=[1,2,3,4,5,6,7,8,9]//改变数组长度valArray.length = 2;//输出数据console.log("valArray=" + JSON.stringify(valArray)); //输出:valArray=[1,2].原创 2020-12-15 20:22:52 · 574 阅读 · 0 评论 -
Node.JS 删除数组元素
//数组数据var valArray = [2,2,2,3,4,5,2,6,7];//删除的值var delVal = 2;//删除元素for(var i=0; i<valArray.length; i++){ //数据比对 if(valArray[i] == delVal){ //删除值 valArray.splice(i,1); //下标递减 i--; }}//输出日志console.log(.原创 2020-12-15 20:17:37 · 3338 阅读 · 0 评论 -
Node.JS number,Array,Object 验证
//数字验证{ var value1 = 10; //验证 if(typeof value1 == "number"){ //条件成立 //输出日志 console.log("value1 is number"); } var value2 = 'data'; //验证 if(typeof value2 != "number"){ //条件成立 //输出日志 console.log("value2 not is number"); }}//数组验证{ .原创 2020-12-15 20:11:26 · 389 阅读 · 0 评论 -
Node.JS 数组连接
var valArray1 = [1,2,3];var valArray2 = [4,5,6];//连接数组var valArrayTemp = valArray1.concat(valArray2);//输出日志console.log(JSON.stringify(valArrayTemp)); //输出:[1,2,3,4,5,6]原创 2020-12-15 19:45:54 · 764 阅读 · 0 评论 -
Node.JS 混乱数组
上菜* 混乱数组 */function RandDataArray(data) { //混乱准备 var dataTemp = [].concat(data); var dataBuffer = []; var length = dataTemp.length; //混乱扑克 var randCount = 0; var position = 0; do { var randvalue = (((length - r原创 2020-12-15 17:04:20 · 443 阅读 · 0 评论 -
Node.JS 数组取最小值
//数据数组var valArray = [35,65,21];//取最小值var minVal = Math.min(Math.min(valArray[0],valArray[1]),valArray[2]);//输出日志console.log(minVal);原创 2020-12-15 19:36:49 · 482 阅读 · 0 评论 -
Node.JS 精确小数2位的方法
//示例1var val1 = 0.1 + 0.05;var val2 = Math.floor(val1*100)/100;console.log("val1=" + val1);console.log("val2=" + val2);//示例2var val3 = 10 + 50;var val4 = val3 / 10.00;console.log("val3=" + val3);console.log("val4=" + val4);原创 2020-12-15 19:29:34 · 3381 阅读 · 0 评论 -
关于 node.js package.json的使用说明
先说结论package.json 主要存储项目所依赖包的信息。 代码上传至代码托管服务,不需要上传node_modules 文件夹,上传package.json 即可 拉取代码后,在项目目录下执行 npm install 即可完成 node_modules 的安装 生成方法打开命令窗口,进入到项目所在目录,使用初始化命令:npm init执行命令会,会提示,输入yes即可。完整过程如下D:\myCode\node.js> npm initThis ut...原创 2020-12-15 14:59:14 · 576 阅读 · 0 评论 -
Node内存异常 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
写了一个node程序,使用启动命令:node demo.js,报出如下错误:<--- Last few GCs --->[68628:00000000003E0790] 23821 ms: Mark-sweep 1611.2 (1799.5) -> 1611.0 (1801.0) MB, 88.9 / 0.0 ms allocation failure GC i...原创 2020-04-09 17:10:20 · 1014 阅读 · 0 评论