![](https://img-blog.csdnimg.cn/20201031103358708.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Node.js
Node.js使用案例与测试Demo
一个头发贼多的小火鸡
。
展开
-
RabbitMQ创建死信队列
RabbitMQ创建死信队列示例原创 2022-05-27 16:06:11 · 945 阅读 · 0 评论 -
Electron(Node.js)下载文件并执行.exe文件
描述一下遇到的问题!1.因为Electron软件需要使用特殊的文件层级包裹,里面携带一些驱动 固件等等,所以不能直接使用electron-update升级的方式去升级应用程序,所以另辟蹊径。2.目前使用了VNISEdit 编译环境来编译安装包(NSIS脚本编译),下载时直接安装覆盖。const http = require('http')const path = require('path')const fs = require('fs')http.get("http://172.原创 2021-12-22 17:22:45 · 2027 阅读 · 5 评论 -
Node.js连接Mysql主从读写分离
直接梭代码const mysql = require('mysql');var config = { canRetry: true, //如果true,PoolCluster将在连接失败时尝试重新连接 removeNodeErrorCount: 5, //如果连接失败,节点的errorCount增加。当errorCount大于时删除一个节点PoolCluster。(默认值:5) defaultSelector: 'ORDER' //默认选择器 RR:交替选择一个(循环)。原创 2021-09-02 15:16:10 · 394 阅读 · 0 评论 -
Electron: 主进程开启子线程 cluster.fork
1.background.jsconst cluster = require('child_process'); var son_course = cluster.fork(process.env.NODE_ENV == "development" ? "./src/renderer.js" : "./resources/renderer.js")//向子线程发生消息son_course.send("我是你粑粑~~~")//接收子线程的消息son_course.on('message',..原创 2021-08-24 17:04:15 · 1705 阅读 · 1 评论 -
Electron: 渲染进程开启子线程 Worker
在Vue中需要使用例外的线程去执行轮询的任务,这里以获取网卡信息为例。注:这里是在Electron中使用的,可以使用Node.js实例 “child_process”,如果是纯Vue工程无法使用Node实例。1.创建一个renderer.js文件,放在public静态文件夹下。// This file is required by the index.html file and will// be executed in the renderer process for that windo原创 2021-08-24 16:46:09 · 2393 阅读 · 0 评论 -
Electron builder配置
1. 安装compression-webpack-plugincnpm install compression-webpack-plugin@5.0.2 --save 2. 在根目录下创建vue.config.js打包配置文件,如下注意看注释://let publicPath = process.env.NODE_ENV === 'production' ? 'sing-app-vue-dashboard/' : '/';const CompressionPlugin = requ原创 2021-07-22 15:01:40 · 1280 阅读 · 0 评论 -
Electron入门(新建工程)
前言:因为工作需要使用Electron做桌面应用程序,了解一下学习成本最低的只有Electron。直接结合Node.js + Vue.js 可以快速实现使用,当然了解的并不深入。这里做一下记录。顺便吐槽一下遇到一个问题,就是Electron打包后会出现部分Node.js的node_modules库找不到,当然了也找到了解决方式。Electron文档:https://www.electronjs.org/Electron-builder文档:https://www.electron.build原创 2021-07-21 14:47:40 · 423 阅读 · 1 评论 -
Crypto aes-128-cbc加密
1.crypto (如node.js)var key = '2cef781a9c0411eb'var str = JSON.stringify({ "ip": "192.168.12.1", "mac": "80:3F:5D:0E:04:2B", "wan_ip": "0.0.0.0", "internet": "1", "5g_ssid": "531A6-yang_test_2G", "2g_ssid": "531A6-yang_test_5G", "5g_tx_power": "100", ".原创 2021-06-04 10:56:50 · 1973 阅读 · 0 评论 -
Node.js 获取网卡信息(解决中文乱码问题)
1. 使用 iconv-lite 依赖库var iconv = require('conv-lite');var encoding = 'cp936';var binaryEncoding = 'binary';var cluster = require('child_process');cluster.exec("cmd /c chcp 65001>nul && netsh wlan show interface", (err, res) => {原创 2021-06-04 10:25:02 · 1108 阅读 · 0 评论 -
Redis:Key过期回调函数 (node.js)
1.使用Redis过程中需要用到Key过期时回调一个函数。const redis = require('redis')const client = redis.createClient("6379", "localhost", { detect_buffers: true })client.auth('123456')console.log("设置过期数据!");client.set('user:timeoutData', json.stringify({id:1,name:'allen'原创 2021-04-09 15:05:46 · 1355 阅读 · 0 评论 -
gridfs-stream 文件上传至Mongodb并访问
1.安装依赖cnpm install gridfs-stream --save2.实现文件上传至Mongodbvar mongoose = require('mongoose');const Grid = require('gridfs-stream');const fs = require('fs');const utils = require('../resource/utils');const jwt = require('jsonwebtoken');const confi原创 2020-10-23 11:04:49 · 902 阅读 · 0 评论 -
RabbitMQ在Node.js中的实际应用
1.起步安装步骤自行下载安装。可视化界面:http://localhost:15672 默认登录用户名guest,密码guest2.基本概念1.生产者:即发送消息客户端释义:给队列发送消息,俗称生产者。2.消费者:即接收消息服务端释义:接收生产者发送过来的消息,并加以处理。3.channel:连接通道释义:RabbitMQ的连接对象通道,在代码中全部操作基于channel通道。4.exchange:交换机释义:消息生产者发送消息到交换机(也可以说交..原创 2020-08-25 15:30:46 · 2158 阅读 · 0 评论 -
PayPal支付开发之退款处理(node.js---Koa2)
应该也有人跟我一样拿回调的PaymentID去退款的。然后就报错。找不到订单。第一步:获取saleid,这个是支付成功之后在execute方法里返回的参数。(payment.transactions[0].related_resources[0].sale.id)业务层:async function MerchantsArefund_PayPal(ctx) { var saleid = ctx.request.body.PayerID //退款ID var data = {原创 2020-06-30 15:20:19 · 666 阅读 · 0 评论 -
Node.js 搭建邮件发送服务
在日常的登录,注册中经常会使用到邮件服务,这里记录一个邮件发送服务。以163为例第一步:下载依赖npm install nodemailer --save第二步:去163网站获取邮件授权码。第三步:配置configuration文件。module.exports = { Email: { service: '163', //邮箱 163 secureConnection: true, //是否使用了ssl证书验证 user原创 2020-06-01 15:06:09 · 941 阅读 · 0 评论 -
JS:获取时间格式utils工具包。
1:生成普通时间格式数据.//生成时间格式function getTime() { var date = new Date(); var seperator1 = "-"; var seperator2 = ":"; var month = date.getMonth() + 1; var strDate = date.getDate(); ...原创 2020-04-18 10:14:24 · 579 阅读 · 0 评论 -
node.js爬取目标网站数据。(cheerio-Koa2)
最近受疫情影响迟迟不能复工,在家时与朋友寒暄聊到最近在做什么对方说起了爬虫这个东西,加上自己一时兴起,花了2个多小时简单研究了一下,简单入个门。在此记录一下。1.开发环境,所需依赖库。//搭建koa2 脚手架npm install -g koa-generator//新建项目koa2 -e ReptileDemo//安装基础依赖库cd ReptileDemonpm insta...原创 2020-03-24 18:04:59 · 528 阅读 · 0 评论 -
WebSocket消息推送接收-(微仿滴滴打车业务场景)-(node.js-Vue.js)
年终结尾最后一次更新,在不写一次估计年前就没机会再写了(保证一月一次)。突然想起之前一个朋友问起实时订单推送如何实现。在年尾没啥事自己也比较感兴趣,简单实现了一下。1.开始准备工作就不写了哈~,直接梭。安装websocket依赖库。//安装 websocket依赖npm install websocket //安装 hashMap依赖npm install hashmap2...原创 2020-01-16 14:58:49 · 1226 阅读 · 1 评论 -
Mongodb设置数据过期自动删除
1.今天要做一个验证码一样的东西,让用户通过校验。下面这段是设置以createTime为过期时间的索引,意思就是一条数据以其中createTime的字段时间为准,超过该字段时间将这条数据删除。{expireAfterSeconds:0} 设置为0 时间一到立马删除。{ expireAfterSeconds: 60*2 } 设置延时秒,以设置的延时秒为准,到时间以设置的延时为基准删除数...原创 2019-12-20 11:38:07 · 1432 阅读 · 0 评论 -
PayPal支付开发(Vue.js -- node.jsKoa2)
补充一下:想选择Paypal做支付的,慎选,由于网络服务器网速原因访问部分网站网速极其的慢,他的支付网站还设置timeout过时,导致跳转到他的支付页 资源都没全部拉取下来就timeout掉了。有段时间情况好一点,有段时间完全不能访问!注:找了个韩国的VPN网络测速正常。可能跟国内外网络封锁有很大关系!开发者中心地址:https://developer.paypal.com/develop...原创 2019-11-26 16:23:45 · 2502 阅读 · 7 评论 -
Node.js(Koa2)图片上传--Nginx配置访问代理服务
注意:mychen.vip 是我的域名,这里配置各自的域名或是IP地址配置http接口访问服务:/** * 文件上传 */router.post('/upload', FileImplementation.fileUpload);/** * 文件删除 */router.post('/DeleteFile', FileImplementation.DeleteFile);...原创 2019-10-24 13:50:50 · 703 阅读 · 0 评论 -
JSON去除重复数据
之前写的一直有问题,不知道在多数据情况会出BUG。都一年多了我的天,没人反馈。(误人子弟小火鸡)同时感谢下面两位评论的朋友提醒。(已更改)var arr = [{ uuid: '1', name: '张三' },{ uuid: '2', name: '李四' },{ uuid: '3', name: '王五' },{ uuid: '2', name: '李四' },{ uuid...原创 2018-11-03 10:03:29 · 8134 阅读 · 12 评论 -
cnpm全局式安装
踩坑之:Vue install scss样式 很多三方库使用npm安装不上:warning命令行:npm install -g cnpm --registry=https://registry.npm.taobao.org原创 2018-11-01 17:33:10 · 179 阅读 · 0 评论 -
Navicat Premium 12.0.24 64位 工具资源分享
链接:https://pan.baidu.com/s/1MP_VA7EW4AeJR7rbVy9FnA 提取码:zrge 安装步骤原创 2018-11-02 15:40:47 · 444 阅读 · 0 评论 -
Vue2.x -Axios请求,拦截器
不得不说不管是微信小程序还是Web,封装的请求使用起来确实很方便,起码能让代码看起来清晰,不那么冗余,不过最重要还是能少写几行代码。哈哈1.创建Vue模板项目:进入项目下,npm install axios2.打开项目进入min.js,将他们挂载到全局中,方便使用。import Axios from 'axios'Vue.prototype.$Axios=Axios3....原创 2018-11-02 15:12:23 · 1789 阅读 · 0 评论 -
Vue-本地跨域访问后台配置。
1.进入Vue项目的config/index.js 文件。未配置之前是这样的:module.exports = { dev: { // Paths assetsSubDirectory: 'static', assetsPublicPath: '/', proxyTable: {}, // Various Dev Server settin...原创 2018-11-02 15:18:45 · 1690 阅读 · 0 评论 -
推荐一个好用的CSS样式效果站
https://daneden.github.io/animate.css/原创 2018-11-02 15:22:02 · 1954 阅读 · 0 评论 -
Node.js处理 Access-Control-Allow-Origin (Vue)
第一步:安装cors库npm install koa2-cors 第二步:进入APP.JS文件const cors=require('koa2-cors') //引入第三步:USEapp.use(cors()); 如果遇到这样的情况:前台需要请求三方接口,请求时出现 Access-Control-Allow-Origin 或者 报错 被CORS拦截。...原创 2018-11-13 11:56:43 · 1775 阅读 · 0 评论 -
Node.js --加密
关于Node.js接触最多的就是加密了吧!各种用户信息加密,请求加密权限。推荐两个比较好用的加密方式:1:crypto加密npm install cryptoconst crypto = import ('crypto')//MD5加密方式,解密密匙var encryption=crypto.createHmac("md5","bfc5bb571c9aedcae5cd9ee9e...原创 2018-12-01 09:35:14 · 384 阅读 · 0 评论 -
MongoDB $lookup联表查询
入手MongoDB第一天,发现跟关系型数据库差别也不算太大。比较有意思的是$lookup联表查询。自己总结了一下,比较土,但是易于理解。(好多资料都是直接复制官方文档原话。){$lookup: { from:'products', //关联你需要查询的表2 localField:'product_id', //指定表1中的一个关...原创 2019-02-13 11:22:06 · 2539 阅读 · 1 评论 -
微信小程序:登陆获取用户信息,包括维护3rdSession。(Node.js-Koa)
前两三个月最常见的问题就是登陆模块的问题了。自己也改了好几次登陆的问题,从普通登陆,一直改到维护3rdSession。(token)普通登陆:用户数据包括appid,secret全部暴露在外,相对来说不安全。上前台代码块:wxml<button open-type='getUserInfo' lang='zh_CN' bindgetuserinfo='onGetUserIn...原创 2018-08-22 15:41:20 · 3242 阅读 · 0 评论