
Node.js
文章平均质量分 82
阿宇的编程之旅
本人擅长Ai、Fw、Fl、Br、Ae、Pr、Id、Ps等软件的安装与卸载,精通CSS、JavaScript、PHP、ASP、C、C++、C#、Java、Ruby、Perl、Lisp、python、Objective-C、ActionScript、Pascal、spss、sas等单词的拼写,熟悉Windows、Linux、Mac、Android、IOS、WP等系统的开关机
展开
-
基于Node搭建的公众号机器人本地部署方案
此类操作在服务器中会触发调用Ai模型接口的响应,最终将结果返回给用户达到完整的闭环。那么本篇文章分享的就是将上图中的AirCode云函数中具体代码改成本地服务代码并且部署的整个过程。原创 2024-12-20 09:09:11 · 706 阅读 · 0 评论 -
控制台居然可以这么玩?五分钟带你上手ANSI指令,实现一个log工具包
或者直接使用setinterval实现一个向上滑动滚动条的效果,每500毫秒打印一次行数。光标移动与上述的光标指令相同,只不过在指令中传入了移动距离。原创 2024-04-23 16:00:51 · 1211 阅读 · 0 评论 -
前端如何优雅的使用定时器?
前言在前端开发中,使用定时器可以处理一些循环操作或者延时操作,比如使用setinterval可以在指定的时间间隔重复执行函数,setTimeout则是用于在指定时间后执行一次函数,还有之前提到的requestAnimationFrame动画帧函数,在使用全局定时器时,可能不会关注其启用数量及优化操作,导致实际开发中遇到一些性能问题。借助本篇文章,与大家分享一个定时器的管理工具,希望各位看完后能有所收获。原创 2024-04-08 09:58:02 · 1769 阅读 · 0 评论 -
使用Node实现Git仓库批量克隆
【代码】使用Node实现Git仓库批量克隆。原创 2024-04-01 10:23:37 · 712 阅读 · 0 评论 -
不是Jenkins玩不起,而是脚本更有性价比,在1Panel中使用Node搭建前端自动化
公司测试环境的运维管理面板是1Panel,由于近期有新项目的开发,部署功能并不完善,每次版本的发布需要开发人员在自己电脑上build并通过压缩包手动进行操作发布,这么做既降低了效率,还会导致操作的不一致性,并且难以扩展和维护。于是我计划在面板中搭建一套流水线来维护前端包的自动构建与代码发布。原创 2024-03-14 09:15:52 · 2524 阅读 · 4 评论 -
手摸手带你实现一个开箱即用的Node邮件推送服务
由于邮箱账号和手机号的唯一性,通常实现验证码的校验时比较常用的两种方式是手机短信推送和邮箱推送,此外,邮件推送服务还可以达到推送关键信息和消息通知的诉求。为了方便快捷的使用邮件推送api,我基于Node和相关库快速搭建了一个简易的开箱即用的邮件推送服务。本文与大家做个分享准备工作云函数,服务器或第三方内网穿透(提供api调用)Node环境及后续的依赖包个人邮箱邮箱配置原创 2023-08-21 10:25:57 · 777 阅读 · 36 评论 -
JavaScript作用域详解
作用域是JavaScript中一个重要的概念,它决定了变量和函数在代码中的可访问性和可见性。了解JavaScript的作用域对于编写高效、可维护的代码至关重要。本文将深入介绍JavaScript作用域的不同类型、作用域链以及闭包等相关内容。原创 2023-07-31 09:31:55 · 2262 阅读 · 30 评论 -
JS的迭代器是啥?精读JS迭代器
在ES6中引入了迭代器的概念,它是一种遍历数据集合的机制,并且提供了一种简单而一致的方式来访问集合中的每个元素,在集合与映射这篇文章中,我们就已经初步认识了Symbol.iterator这个概念。迭代器是通过迭代协议实现的,每一个拥有该协议的对象都可以称作是可迭代的对象,这个协议的标识就是Symbol.iterator,它是ES6中引入的一个新的Symbol值,表示一个对象是否有可迭代性。可迭代对象的Symbol.iterator属性是一个函数,我们称为迭代器对象原创 2023-05-29 10:04:16 · 1693 阅读 · 11 评论 -
在Node终端实现NewBing对话功能
ChatGPT在当下已然成为炙手可热的话题了,随着GPT-4的推出,网上关于其接口的文章也越来越多。但是今天,我们不聊GPT,说说它的老朋友:newbing之前我发布了几篇关于对接openAI以及chatGPT的文章:Node搭建GPT接口,Node机器人,语音识别及合成,大家对此类文章的兴趣度还是挺高的,于是我决定深入探索一下NewBing的接口及对话方式,如果有兴趣的话就继续往下看吧原创 2023-04-13 11:31:51 · 2350 阅读 · 16 评论 -
死磕Node模块兼容性,ESM和CJS我全都要!
在Node版本13.2.0(2019年)之前,我们一般使用CJS(CommonJS)模式在代码中引入包,它的加载是同步的,在整个模块加载完成后,才会执行后续代码。而ESM(ECMAScript Modules)最早在2015年就被使用在浏览器中,在script标签中增加type="module"这个属性,然后引入模块进行使用。在Node 13.2版本后,Node也支持使用ESM进行导入模块的操作,那么如何对其二者进行一个兼容?请接着往下看。原创 2023-02-22 14:27:33 · 2718 阅读 · 2 评论 -
使用Node+Wechaty做一个机器人
这篇文章会结合Wechaty去实现一个机器人在开始编码之前,我们先了解一下wechaty;Wechaty是一个聊天机器人,只需6行代码即可实现一个机器人,其跨平台性,多编程语言支持,使其在众多开源的bot项目中大放光彩。原创 2023-02-17 09:47:37 · 9144 阅读 · 38 评论 -
基于Web Speech API给AI语言模型加上语音功能,距离MOSS又近了一步
前段时间我把微信小号接入了AI语言模型,同事们直呼过瘾,每天在群里聊得风生水起这不前段时间看了《流浪地球2》,在感叹国产科幻片如此优秀的同时,心中萌生出了一个想法,我是不是也能把语音技术结合到AI语言模型中,做个语音对话机器人玩玩?说干就干,参照之前的文章,我们使用nodejs实现了AI语言模型接口,现在只需在前端页面中实现语音识别以及语音合成就行了原创 2023-02-11 19:59:12 · 7424 阅读 · 22 评论 -
为了方便项目打包,我用Node写了个git-tag工具
在使用git执行打包操作时,我们常常会根据场景在tag中增加一些标识。以基准版本为1.0.0为例:软件开发初期可以定义1.0.0-alpha.0,开发阶段是1.0.0-beta.0,上预发布环境时可以打成1.0.0-release.0,最终上线可以打v1.0.0。也许每个公司都有一套标准,是否能做一个工具适配这样的场景?于是就有了这篇文章,我想借这篇文章与大家分享一下最近整的一个git标签工具git-tag-sh原创 2023-01-24 18:07:39 · 3072 阅读 · 4 评论 -
旧手机闲置?教你用Termux搭建个移动服务器
最近偶然看到网上有人用KSWEB搭建本地服务器,于是突发奇想也想在手机中搭建一个node环境试试,趁着周末有空,麻溜的试了试。这篇文章将针对我的搭建过程,遇到的问题及解决方案做个记录我的计划是使用手机搭建一个node环境,通过内网穿透将服务器暴露。TermuxAnbox最终基于方便和轻量,选择了Termux,说干就干准备工作Termux安卓手机(最好是高版本安卓,并且不使用模拟器),我的实验机是华为荣耀-安卓9;正式机是荣耀6-安卓6vpn谷歌商店,有最好电脑:adb(要不要都行)起步。原创 2023-01-15 23:32:44 · 4575 阅读 · 0 评论 -
JS案例:接口加解密与防重放
在网络通信中,如果数据包是明文传输,并且包含敏感信息,那么就很容易被抓包窃取,因此加密手段也成了开发者耳熟能详的知识技能;常见的加密方法有对称加密和非对称加密。对称加密使用同一个密钥进行加密和解密,而非对称加密使用公钥和私钥分别进行加密和解密。另一个需要知识点是防重放措施,防重放攻击是指攻击者会拦截请求并重新发送,从而导致重复处理。常见的防重放攻击方法有使用令牌桶算法和使用 Nonce 值(随机数)。原创 2023-01-12 15:06:34 · 1209 阅读 · 2 评论 -
站在巨人的肩膀上,用Node+ChatGPT模块实现一个接口
蹭一下最近比较火的人工智能ChatGPT的热度,最近看到许多小伙伴都在调戏ChatGPT,看到这我就坐不住了,这种事怎么能少了我,于是闲(划)暇(水)之余用node做了个api原创 2022-12-07 22:34:23 · 13261 阅读 · 31 评论 -
JS案例:实现一个简易版axios
axios是一个的前端请求工具,其优秀的场景复用性使它可以运行在node环境和浏览器环境,在浏览器环境中使用的是xhr,在node中则是使用http模块,最近在封装一些工具函数,恰好接触到了这一块,于是想分享一下心得,希望对大家有帮助。文章中有一些类型和函数未给出可以在这个工具包中找到功能特性:浏览器环境下,我使用的是fetch而摒弃了xhr的封装,这会使低版本浏览器兼容上有一定缺陷,后续有时间的话可能会加上,node环境下依旧使用的http模块。原创 2022-09-09 17:09:51 · 954 阅读 · 10 评论 -
JS案例:实现一个简单的任务队列-TaskQueue
针对一些大型的秒杀活动,抢票业务,高并发是一个经常遇到的问题,后端人员时常会接触到消息队列这个中间件。对于前端人员而言,使用node开发业务,或者使用浏览器单线程异步渲染时也会遇到堵塞,页面卡死的现象,如何处理大量的数据同时加载或者数据同时请求便成为了老生常谈的话题。此时一个异步的任务队列或许可以帮助我们缓解这些问题。任务队列的特点:异步,解耦,削峰异步是多个任务并发进行,互不依赖;解耦是将业务隔离开,保证任务的运行结果不会影响到其他任务,从而产生堵塞;削峰是指在系统请求量或者负载达到一定峰值时使用缓存原创 2022-06-01 14:25:45 · 2341 阅读 · 41 评论 -
基于node实现CSDN博客导出为markdown
前言这段时间准备搭建自己的博客挂到服务器上,于是想着把博客平台的文章导出,然而CSDN没有博客导出功能,在网上搜的方式是用博客搬家导入博客园然后导出为xml文件,由于xml文件也需要解析,而且操作方式并不简单,所以写了一个服务将CSDN的博客导出为md格式文件准备工作node环境依赖:axios cheerio html-to-md实现过程问题一:通过community/home-api/v1/get-business-list接口可以获取到个人博客的列表,请求采用分页懒加载,并原创 2021-12-21 09:43:58 · 1551 阅读 · 28 评论 -
使用verdaccio打造自己的npm私有化仓库
前言接着上篇文章Gitea+Jenkins能碰撞出怎样的火花?浅谈前端自动化部署_DieHunter1024的博客-CSDN博客本文将与大家分享使用verdaccio搭建私有化npm仓库以及npm包的发布准备工作Node环境远程或本地服务器verdaccio安装配置verdaccio使用npm install --global verdaccio全局安装verdaccio在服务器中新建文件夹用来存放npm数据在新建的文件夹中运行cmd输入verdaccio,显示以下日志就可以了原创 2021-12-16 19:39:14 · 2173 阅读 · 18 评论 -
没有云服务器?内网穿透了解一下
内网穿透又叫端口映射,用一句最简单的话来讲就是:将你的计算机所连接的私有网络映射到公网上,别人通过你给的域名或ip即可访问你本地的服务。具体的原理可参照百度百科这么做可以实现各大厂商的云服务器(阿里云,腾讯云,百度云,华为云等)的效果,通过公网地址访问服务器原创 2021-03-20 11:21:28 · 30466 阅读 · 48 评论 -
WebSocket使用及优化(心跳机制与断线重连)
WebSocket在2008年被提出,其通信协议于2011被制定为标准websocket支持全双工通信(即:在客户端和服务之间双向通信)在websocket问世之前,客户端与服务器通常采用http轮询和Comet等方式保持长链接然而,这么做无疑会对服务端造成资源消耗,因为HTTP请求包含较长的头文件,只传递了少许的有用信息,十分消耗资源。于是websocket便诞生了,它不仅节省资源和带宽,更是能实现长链接作用,只需客户端主动与服务端握手一次,即可进行实时通信,实现推送技术。原创 2021-03-13 20:40:15 · 5784 阅读 · 34 评论 -
JS案例:触底懒加载
接着上篇文章:ajax获取图片列表,我们来实现一下JS的经典案例,懒加载在web应用中,系统的响应速度对用户体验十分重要,其最主要的影响来源于服务端数据库查询,以及DOM渲染。数据库查询数据量大的情况下,我们可以进行分页配合前端分页或者懒加载进行优化,而这篇文章主要讲的是如何处理后端百万级数据对DOM渲染造成的影响,当然这也是大厂常问的题。原创 2021-03-09 19:13:10 · 1681 阅读 · 31 评论 -
JS案例:ajax获取图片列表
AJAX是个啥?有什么作用?如何实现AJAX?如何使用AJAX?这几个问题我在前端JS的面试题中,遇见了不少,对于前后端分离,单页面渲染流行的今日,ajax似乎变得很重要。那么什么是Ajax?Ajax(Asynchronous JavaScript and XML),又被称为异步 JavaScript 和 XML,它不是一门语言,而是web应用的一门技术。要知道,如果在2009年你了解前端的dom操作,ajax技术和一点点JS语法,你就已经可以找到一份不错的web前端的工作了。也正是Ajax技术..原创 2021-03-04 15:55:17 · 1680 阅读 · 16 评论 -
原生Node实现静态目录
node环境中实现静态资源托管,网上许多案例都是直接通过Express或koa框架实现的,一行代码就可以解决app.use('/img', express.static(path.join(__dirname, './img')));然而为了追寻原理,我自己试着实现了一个简单的静态资源托管,为下篇懒加载文章做铺垫新建server.js文件执行node代码,在server.js中引入等会要用到的模块http和fs(filesystem)const http = require('http'原创 2021-03-02 14:19:44 · 1636 阅读 · 16 评论 -
Nodejs安装配置与npm配置
前言:该片文章主要介绍一下node环境的安装流程及排雷,为下篇TypeScript文章做铺垫环境安装:这里我使用的是nvm(node管理工具)对node进行安装,直接一步到位,省去一些配置我的gitee上的nvm托管地址当然也可以去GitHub或者码云托管上下载nvm下载好安装包后双击安装nvm,选择我同意,并点击下一步选择安装路径,点击下一步选择安装好后,node快捷方式的路径最后点击安装,途中若杀毒软件提示应用修改环境变量点击允许即可安装完成后在环境变量中多出以下变量,并且在cmd中输原创 2021-02-24 20:38:26 · 1478 阅读 · 16 评论 -
NodeJs(前端面试题整合)
谈谈对Node的理解Node.js 在浏览器外运行V8 JavaScript引擎,单线程 非阻塞I/O 事件驱动,适应于数据高并发,适合多请求,但不适合高运算,有权限读取操作系统级别的API,npm 仓库,常用框架:Express,koa,Socket.io,AdonisJs,NestJS什么是gulp?作用?机制是什么?gulp是基于node的自动化构建工具作用:1 自动压缩JS文件2 自动压缩CSS文件3 自动合并文件4 自动编译sass5 自动压缩图片6 自动刷原创 2020-11-28 16:48:17 · 3305 阅读 · 20 评论 -
从零开始,搭建一个简单的购物平台(十九)前端商城部分
从零开始,搭建一个简单的购物平台(十八)前端商城部分:https://blog.csdn.net/time_____/article/details/108918489项目源码(持续更新):https://gitee.com/DieHunter/myCode/tree/master/shopping上篇文章后,前端商城部分基本功能已实现,包括商品列表,商品分类,首页商品展示,商品详情,购物车,用户登录注册,剩余内容:用户信息修改,提交订单,订单展示等,这篇文章将对剩余部分完结。用户信息修改的后端接口原创 2020-10-17 14:50:20 · 1808 阅读 · 16 评论 -
从零开始,搭建一个简单的购物平台(十八)前端商城部分
从零开始,搭建一个简单的购物平台(十七)前端商城部分:https://blog.csdn.net/time_____/article/details/108893925项目源码(持续更新):https://gitee.com/DieHunter/myCode/tree/master/shopping上篇文章对购物车进行了简单的介绍...原创 2020-10-08 11:38:17 · 1658 阅读 · 16 评论 -
从零开始,搭建一个简单的购物平台(十七)前端商城部分
从零开始,搭建一个简单的购物平台(十六)前端商城部分:https://blog.csdn.net/time_____/article/details/108769229项目源码(持续更新):https://gitee.com/DieHunter/myCode/tree/master/shopping上篇文章讲到了商品详情页面实现,最后一个功能是加入购物车,...原创 2020-10-08 11:38:05 · 1499 阅读 · 12 评论 -
从零开始,搭建一个简单的购物平台(十六)前端商城部分
从零开始,搭建一个简单的购物平台(十五)前端商城部分:https://blog.csdn.net/time_____/article/details/108680599项目源码(持续更新):https://gitee.com/DieHunter/myCode/tree/master/shopping在前几篇文章中,我们对首页,分类列表,公共组件,工具类进行了实现,这篇文章将实现商品详情页进行介绍,这里我们将商品详情页细化成多个组件,利用组件通信方式进行监听传递方式从而实现数据传递和效果逻辑先来看看效原创 2020-10-08 11:37:55 · 1247 阅读 · 12 评论 -
从零开始,搭建一个简单的购物平台(十五)前端商城部分
从零开始,搭建一个简单的购物平台(十四)前端商城部分:https://blog.csdn.net/time_____/article/details/108545330项目源码(持续更新):https://gitee.com/DieHunter/myCode/tree/master/shopping上篇文章对主页和部分公共组件进行了界面和功能实现,之前对项目用到的工具类,路由,全局状态进行了封装,这篇文章将对商品分类,商品主题界面进行介绍商品分类:界面样式及效果注意:由于分类商品列表和主原创 2020-10-08 11:37:39 · 1408 阅读 · 5 评论 -
从零开始,搭建一个简单的购物平台(十四)前端商城部分
从零开始,搭建一个简单的购物平台(十三)前端商城部分:https://blog.csdn.net/time_____/article/details/108514710项目源码(持续更新):https://gitee.com/DieHunter/myCode/tree/master/shopping本篇文章介绍实现部分组件和首页部分,首页组件如下,下面介绍一下实现过程pageTitle(页面标题)首先要考虑到标题的返回功能,在methods里写个路由返回函数 methods: {原创 2020-10-08 11:37:25 · 1201 阅读 · 2 评论 -
从零开始,搭建一个简单的购物平台(十三)前端商城部分
从零开始,搭建一个简单的购物平台(十二):https://blog.csdn.net/time_____/article/details/108471436项目源码(持续更新):https://gitee.com/DieHunter/myCode/tree/master/shopping这篇文章我们来实现一下工具类,其他配置和全局状态工具类:工具类我们统一放在utils文件夹下,并部署在Vue原型上(与Axios的一样) 首先我们要实现两个对象深复制的方法,之前博客也有介绍到,后续对全局静态变原创 2020-10-08 11:37:14 · 1120 阅读 · 4 评论 -
从零开始,搭建一个简单的购物平台(十二)前端商城部分
从零开始,搭建一个简单的购物平台(十一):https://blog.csdn.net/time_____/article/details/108447234项目源码(持续更新):https://gitee.com/DieHunter/myCode/tree/master/shopping从这篇文章开始对前端商城开发进行介绍效果图地址:https://gitee.com/DieHunter/myCode/tree/master/shopping/pic效果图也附上:主页 分类 ...原创 2020-10-08 11:36:45 · 2023 阅读 · 4 评论 -
从零开始,搭建一个简单的购物平台(十一)
从零开始,搭建一个简单的购物平台(十):https://blog.csdn.net/time_____/article/details/108442619项目源码(持续更新):https://gitee.com/DieHunter/myCode/tree/master/shopping原创 2020-10-08 11:35:04 · 999 阅读 · 2 评论 -
从零开始,搭建一个简单的购物平台(十)
从零开始,搭建一个简单的购物平台(九):https://blog.csdn.net/time_____/article/details/105465499项目源码(持续更新):https://gitee.com/DieHunter/myCode/tree/master/shopping拖更时间较长,公司这几个月项目高峰期,请见谅这篇文章主要讲述后端管理系统新增的订单模块的部分内容(前端在之前的计划下稍稍改动,引入了订单的功能,但不包含支付功能),由于与用户管理和商品管理稍有不同,所以单独拎出来介绍一下原创 2020-10-08 11:34:42 · 1129 阅读 · 4 评论 -
搭建一个线上版远程视频聊天
前言在另一篇博客中已经实现了远程视频聊天,然而这种方式只能运行在本地或者https服务下,因为navigator.mediaDevices.getUserMedia需要运行在安全模式下,所以这篇文章将对视频聊天做一个改进,达到真正的远程聊天功能之前的案例:使用JS+socket.io+WebRTC+nodejs+express搭建一个简易版远程视频聊天搭建https:搭建https的第一步得有一个服务器,相关的配置说明在我另一篇文章有提到案例:本地项目上线流程...原创 2020-08-17 17:27:48 · 1875 阅读 · 20 评论 -
从零开始,搭建一个简单的购物平台(九)
从零开始,搭建一个简单的购物平台(八):https://blog.csdn.net/time_____/article/details/105452765项目源码(持续更新):https://gitee.com/DieHunter/myCode/tree/master/shopping这篇文章将前后端管理功能完成,也就是将最后修改用户信息功能实现(由于商品管理与用户管理类似,所以不做描述),并...原创 2020-04-14 08:56:36 · 1112 阅读 · 6 评论 -
从零开始,搭建一个简单的购物平台(八)
从零开始,搭建一个简单的购物平台(七):https://blog.csdn.net/time_____/article/details/105448383项目源码(持续更新):https://gitee.com/DieHunter/myCode/tree/master/shopping...原创 2020-04-13 14:07:03 · 954 阅读 · 4 评论