
Node.js
文章平均质量分 83
Heartsuit
物联网平台架构师,优快云博客专家,阿里云专家博主,PMI认证项目管理专家(PMP),具备物联网、云原生、大数据等领域的研发经验。
展开
-
Node后端框架Express与Koa接口统一响应封装
以前在写 SpringBoot 全栈开发的系列文章中全栈开发之后端脚手架:SpringBoot集成MybatisPlus代码生成,分页,雪花算法,统一响应,异常拦截,Swagger3接口文档,有提到对后端接口的响应数据进行统一的封装,方便前端或者第三方进行数据获取与对接工作;统一响应一般包含状态码、消息内容、数据内容等。这里对 2017 年写的一个基于 Node.js 的 Express.js 框架开发的后端项目的接口进行类似的封装。统一封装可以提高代码的可维护性、安全性和可扩展性,最佳实践。原创 2023-12-10 14:02:03 · 1869 阅读 · 0 评论 -
NodeJS爬取墨刀上的设计图片
设计人员分享了一个墨刀的原型图,但是给的是只读权限,无法下载其中的素材;开发时想下载里面的一张动图,通过浏览器的F12工具在页面结构找到了图片地址。但是浏览器直接访问后发现没权限: Nginx 的 403 页面。。然后就想用其他方式下载这个图片。记录了使用 NodeJS 的fetch方法爬取墨刀上的设计图片的过程。原创 2023-10-28 12:00:00 · 393 阅读 · 0 评论 -
IoT小程序框架快速体验:ASP-80智显面板设备配网与真机更新
从环境搭建到程序开发,再到真机更新体验了阿里云 IoT小程序框架 的使用流程。其中,略过了程序开发过程,而是直接采用入门案例中的公板案例(模拟器测试)与智能闹钟案例(真机测试:ASP-80智显面板),程序开发主要是基于 Vue 的前端开发工作,因时间原因未能完成与云联动的测评,这里主要记录下遇到的3个小问题。 VScode无法调起模拟器。 如何使用串口调试工具发送命令。 设备配网报错。原创 2023-03-19 19:05:55 · 2820 阅读 · 0 评论 -
CentOS7上报错:telnet:未找到命令;telnet可以做什么?
背景当我使用 telnet localhost 2181 命令在虚拟机上测试 ZooKeeper 可用性时,报错:-bash: telnet: 未找到命令系统环境在 CentOS7 上进行安装,虚拟主机信息如下:[root@hadoop1 local]# uname -aLinux hadoop1 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux[root@ha原创 2022-03-05 21:55:53 · 6698 阅读 · 0 评论 -
这一年,这些书:2021年读书笔记
Note: 以下 markdown 格式文本由 json2md 自动转换生成,可参考JSON转Markdown:我把阅读数据从MongoDB中导出转换为.md了了解具体的转换过程。红玫瑰与白玫瑰:张爱玲全集02作者:张爱玲[中]ISBN:9787530218617出版社:北京十月文艺出版社出版日期:2019-02-28图书标签:张爱玲,短篇小说,文学,红玫瑰与白玫瑰,小说豆瓣地址:https://book.douban.com/subject/30294358/阅读日期:2021-01原创 2021-12-31 22:41:57 · 27726 阅读 · 0 评论 -
11-TDengine集成EMQX:通过规则引擎实现设备数据直接入库
背景曾使用过 IoTDB 自带的 MQTT Broker 实现了设备数据入库,那么使用 TDengine 时,我们可以借助 EMQX (一款优秀的国产开源 MQTT Broker )的规则引擎结合 TDengine 的 RESTful API 完成设备数据的路由与入库。用到的工具TDengine RESTful APIEMQX 规则引擎TDengine GUI图形化管理工具Node.js下的MQTT客户端虚拟机CentOS操作系统版本信息TDengine: 2.2.0.0E原创 2021-09-23 12:50:09 · 2997 阅读 · 0 评论 -
使用nvm管理不同版本的Node.js
背景有些项目是几年前写的,用的还是旧版的 Node.js ,现在的新项目需要版本较高的 Node.js 那么如何能同时让多个版本的Node共存呢?这时,Node Version Manager(nvm)可以排上用场,可管理多个不同版本的 Node.js 。下载安装先卸载已有的Node.js下载安装nvm下载:https://github.com/coreybutler/nvm-windows/releases解压安装:nvm-setup.zip使用nvm查看可下载的Node.js原创 2021-05-11 18:57:47 · 380 阅读 · 0 评论 -
解决Puppeteer内置的Chromium无法自动播放音频问题
背景以前做的一个基于 Wechaty 的客户端应用,最近更新个功能,涉及到提示语音的播放,由于要实现对附近人员的提醒,要求自动播放音频,可人工操作关闭。但是实际开发中,发现 Chrome 浏览器无法自动播放音频,经过查询,发现是 Chromium 本身做了限制。版本信息:wechaty@0.14.1,puppeteer: ^1.2.0;音频播放用的是jquery.jplayer.min.js;解决这里场景比较特殊, 这个客户端就在用户的一台电脑上使用,那么只要想法解决这个客户端的问题就行了。原创 2021-03-29 12:47:48 · 1572 阅读 · 0 评论 -
Node.js的nrm报错:internal/validators.js:125 throw new ERR_INVALID_ARG_TYPE(name, ‘string‘, value);
背景又是换电脑引发的问题,为兼容几年前写的 Node.js 相关项目、客户端应用,换了新主机后,便选择安装相对旧点的 Node 版本: v10.24.0 。然而,全局安装了 nrm 依赖后,执行 nrm ls 报错:$ nrm lsinternal/validators.js:125 throw new ERR_INVALID_ARG_TYPE(name, 'string', value); ^TypeError [ERR_INVALID_ARG_TYPE]: The "path"原创 2021-03-28 13:11:01 · 3502 阅读 · 2 评论 -
这一年,这些书:2020年读书笔记
Note: 以下 markdown 格式文本由 json2md 自动转换生成,可参考JSON转Markdown:我把阅读数据从MongoDB中导出转换为.md了了解具体的转换过程。面纱作者:毛姆[英]ISBN:9787210082835出版社:江西人民出版社出版日期:2016-04-01图书标签:毛姆,小说,英国文学,英国,外国文学豆瓣地址:https://book.douban.com/subject/26757680/阅读日期:2020-01-19读书笔记威廉·萨默塞特·毛姆(原创 2021-01-29 08:06:08 · 31793 阅读 · 2 评论 -
JSON转Markdown:我把阅读数据从MongoDB中导出转换为.md了
背景前几年(2015~2018)都是手动直接将笔记(不含图书详情:封面、ISBN、出版信息等)发布,看到大家最近都在做自我复盘,今天突然有个想法:把阅读笔记做成 Markdown 格式的,这时就需要进行简单的数据处理,即: JSON 数据转换为 Markdown 。打开浏览器,在Github直接发现大神们已经造好的轮子:json2md。文档一看就明白了,而且最关键的是还可以自行扩展,厉害了!!输入数据源:json文件我平时的读书笔记专门记录在一个小Web网站上,每读完一本书,相关的图书信息、笔记原创 2021-01-28 22:38:25 · 3149 阅读 · 3 评论 -
上手华为软开云DevOps前后端分离实践之-静态资源服务器(Node.js)
简介前面分别实现了 SpringBoot、Vue 项目在华为软开云的一键操作。但是 Vue 打包后的部署,需要一个静态资源服务器来 Serve,如果跨域未在服务器端处理,那么在这一静态服务器中同时还要处理 Vue 在生产环境下的跨域。静态资源服务器的实现方式有很多,基本每种服务端语言都有对应的框架或容器,比如 Java 的 Tomcat、以及 Python、PHP、Node.js 等,...原创 2019-04-20 17:46:57 · 760 阅读 · 0 评论 -
Chromium revision is not downloaded :Puppeteer根据不同的操作系统下载对应的Chromium
Problem: Chromium revision is not downloaded "scripts": { "start": "electron .", "packager": "electron-packager ./ awesome-app --platform=win32 --arch=all --out ./Executable --electronVer...原创 2018-09-06 12:42:06 · 6988 阅读 · 1 评论 -
Node.js实现微信好友头像拼接(wechaty+sharp)
Github被Microsoft收购,Node也要倒过来了Deno… 最近新鲜事儿着实不少。。背景知乎上有个问题Python 里itchat 模块能实现什么有趣的东西?从中看到 wxImage 这个项目。基于Python下大名鼎鼎的itchat实现。让我想到了Node 下的Wechaty,之前曾用其做消息转发,这次随手拿来玩一玩,此处采用Node来实现好友头像拼接这...原创 2018-06-06 19:57:22 · 3534 阅读 · 7 评论 -
使用bcryptjs对密码加密时,其校验原理是怎样的?
Question刚开始接触这种加密方式,而又对加密原理不了解时,很容易产生这种疑问❔: 对一个密码,bcryptjs每次生成的hash都不一样,那么它是如何进行校验的?Basic verification虽然对同一个密码,每次生成的hash不一样,但是hash中包含了salt(hash产生过程:先随机生成salt,salt跟password进行hash);在下次校验时,从hash中取出sa原创 2017-08-10 15:19:07 · 8748 阅读 · 6 评论 -
Node读写JSON
Node读写json使用require读取JSON;使用fs.writeFile异步写入JSON; JSON.stringify(jsonObj, null, 2);后面两个参数仅为了目标文件内容格式相对美观一些;使用fs.readFileSync同步读取JSON;JSON 文件内容{ "books": [ {"name":"秒速五厘米","author":"新海诚","natio原创 2017-08-04 11:34:23 · 1142 阅读 · 0 评论 -
如何为Github Pages设置动态的背景图片?
准备做什么?使用必应词典时,一次无意的点击,跳到了必应搜索引擎界面,突然眼前一亮,我看到一张图片,没错,高清大图!还可以往前翻几页,有的图片非常震撼;更有意思的是,在必应搜索首页,每张图片的背后都会有一个故事。然而,我对大部分故事并无兴趣。我只想把图片搞过来。。其实,必应已经提供了一个下载按钮的,可以一张一张下载,可我,只要链接~ 实际上,我的目标是把这些漂亮的图片设置为博客背景,那怎么做呢?原创 2017-08-16 08:43:41 · 2863 阅读 · 3 评论 -
vue-resource上传文件(POST multipart/form-data到koa-multer)
Client Side通过form的action提交数据到服务端koa-multer官方示例给的是结合koa-route的服务端Demo,客户端如何将数据传输过去没做明确说明。 可通过传统的form,action,提交表单(关键:enctype="multipart/form-data")即可。<!DOCTYPE html><html><head> <meta charset='ut原创 2017-11-10 11:18:16 · 8912 阅读 · 1 评论 -
Docker化koa2 vue OCR Web应用
首先要有一个应用当然,随便一个Node app即可。 按照Node官网提供的例子,可以顺利对Node App构建镜像、运行容器,每一步都写得清楚明了。 这里采用前面做的一个基于koa2, vue的一个小型应用来实现Docker化。第二步编写DockerfileDockerfile# On the shoulder of giantFROM daocloud.io/library/node:原创 2017-11-12 20:15:01 · 1573 阅读 · 1 评论 -
基于tesseract-orc的koa2 OCR Web小应用
基本功能 上传本地图片识别,下载网络图片识别,前端显示图片与OCR结果。使用的技术Front: Vue@2.4.0, Bootstrap@3.3.7, toastr@2.1.3, nunjucks@3.0.1; Server: Node@8.3.0, koa@2.4.1, koa-router, koa-multer, koa-static;上传本地图片识别:vue-resource,原创 2017-11-11 20:02:18 · 772 阅读 · 0 评论 -
考试应用
整体预览登录、退出考试,交卷,得分排名,考试记录,历史考试错题,重考Note:排名,考试记录均目前仅提供当月数据;技术:前端:Vue,Bootstrap后端:Koa,MongodbLive DemoIf you have any questions or any bugs are found, please feel free to contact me.Your comments and s原创 2017-12-26 22:01:38 · 300 阅读 · 0 评论 -
Express 4.x, socket.io, formidable文件的上传(进度条)、下载
What I Learned接触Node.js也有十来天了,算是学点新东西。The best way to learn something new is to use it. 学习新知识最好的方式莫过于去使用它(do something),在自然语言、编程语言的习得过程中尤为如此。Express 4.x: 静态文件引用;路由;get,set自定义属性;socket.io: 基本事件触发、原创 2017-04-28 10:31:01 · 3094 阅读 · 0 评论