使用 node.js 发送基于 STMP 与 MS Exchange 邮件的方法 本文主要介绍 node.js 发送基于 STMP 协议和 MS Exchange Web Service(EWS) 协议的邮件的方法。文中所有参考代码均以 TypeScript 编码示例。 1 基于 STMP 协议的 node.js 发送邮件方法 提到使用 node.js 发送邮件,基本都会提到大名鼎鼎的 Nodemailer 模块,它是当前使用 STMP 方式发送邮件的首选。 基于 NodeMa 前端开发 任侠 2021-01-09 2882 热度 1评论
React 函数组件之 useImperativeHandle 导出接口的 TypeScript 类型声明 使用 React Hooks 定义函数式组件,当需要对外暴露接口方法时,需要结合使用 React.forwardRef 和 React.useImperativeHandle 实现。 在基于 TypeScript 的开发模式下,如何正确的实现相关的类型定义和引用呢? 参考以下示例进行了解: /** 对外暴露接口的约束类型 */ interface LzwmeInputHandles { focus 前端开发 任侠 2021-01-05 1943 热度 0评论
基于 NodeJs 实现结合 RSA 和 AES 加密算法的消息交换加密传输 敏感消息交换对正确性和安全性都有比较强的要求。 使用消息摘要算法对消息体计算和验证摘要,可以防止消息传输过程中被篡改为非法消息值;使用加密算法加密消息体,可以防止消息传输过程中被拦截并读取。二者结合则可以实现较强的安全性消息交换。 1 保证消息交换正确性 消息传输过程中可能被中间人篡改。比如 A 发送消息转账给 B,中间人在消息转发过程中进行了拦截,解密消息体并篡改为转账给 C,而且篡改转账额度, 前端开发 任侠 2020-12-27 3437 热度 2评论
TypeScript 获取函数的参数类型、返回值类型 在使用 TypeScript 开发的过程中,类型定义是一个必要但又繁琐的过程。 当需要对一个第三方库方法的入参进行单独定义,而该库又没有导出该方法的入参类型时,就需要获取该方法的入参类型。 例如,有如下示例函数,我们想获取其参数类型和返回值类型,那么具体应该如何实现呢。 示例函数: function test(lzwme: string, idx: number) { return { lzwme 前端开发 任侠 2020-11-17 5356 热度 2评论
使用 npm-check-updates 快速升级前端项目 package.json 依赖版本 通过使用 npm outdated 和 npm update 命令,可以对前端项目中的第三方依赖版本进行分析与升级。但他们可用的参数较少,有些过于简单。 在 Microsoft Visual Code 编辑器中,当鼠标停留在依赖行并保持不动时,它会去查询该行依赖的最新版本。这在对单个的第三方依赖版本升级上会有比较简单快捷的辅助。 对于依赖众多的中大型项目,其第三方依赖包可能多达上百个。当希望进行大 前端开发 任侠 2020-10-29 2630 热度 0评论
windows 10 编译构建 electron 源码的环境配置流程参考 当需要对 electron 进行删减或逻辑修改以实现个性化的需求时,第一步要做的就是其源码构建环境的搭建。由于涉及 chromium 和 nodejs 的源码编译,整个构建项目是非常庞大的,其过程中任何一个小环节出现问题都可能会导致最终的失败。 electron 官方维护了 build-tools 工具库,以尽可能简单的实现源码构建环境配置。 在不采用该工具的情况下,我们需要参考官方指南手动进行相 前端开发 任侠 2020-09-30 5200 热度 1评论
对 windows 10 系统 C 盘空间大小进行手动清理瘦身的几种方法 如果在系统分区初始 C 盘空间给的不是很多,可能随着各种应用软件的安装、系统的自动更新等,C 盘的空间慢慢的就不够用了。此时如果你不想重装系统全部重头再来,下面磁盘清理建议可能会帮助到你。 要对进行 C 盘瘦身,无非以下两种策略: 清理:清理删除垃圾文件或不再需要的文件,卸载长期不使用或不再需要的软件 转移:将应用、文件、应用默认安装位置等设置转移至其他分区 具体可以怎么做呢?下面我们介绍几种对 电脑基础 任侠 2020-09-25 3627 热度 1评论
Node.js 关闭 window 命令提示符 Console 控制台的快速编辑模式 windows 10 的 cmd 命令提示符下,如果你双击界面中的字符,则可能会发现可以快速选中部分文字,鼠标拖动模式也可以进行区域选择。 这是因为在 cmd 的选项配置中,默认开启了 “快速编辑模式”。但是可能你也会发现,控制台可能会在此时被卡住,本应继续执行的命令被暂停了,此时只有按一下回车键才会继续执行。 简单来说,“快捷编辑模式”方便了我们从命令提示符中快速选取和复制信息,但也可能因此导致 前端开发 任侠 2020-09-09 2280 热度 0评论
Macbook 安装和配置 Python3 1 下载并安装 Python3 Mac 系统自带了 Python2.7,安装 Python3 的方式很简单,从官网下载对应的 pkg 安装文件,然后一路安装即可。 官方下载地址: https://www.python.org/downloads/mac-osx/ https://www.python.org/ftp/python/ https://www.python.org/ftp/python 电脑基础 任侠 2020-08-17 2683 热度 2评论
合理地使用 git rebase 代替 git merge 操作 先将本文主要观点写在前面: 同一分支上开发,每次提交改动记录较少,建议使用 rebase 从公共分支合并至个人的特性分支,建议使用 rebase 不同分支合并,存在较多的改动记录时,建议使用 merge 从个人的特性分支合并至公共分支,应当使用 merge, 不要使用 rebase 操作 如果你平时习惯于使用默认的 git merge 操作,那么本文或许会对你有所帮助。 合理使用 git reba 电脑基础 任侠 2020-07-20 3540 热度 0评论