随笔分类 -  node

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。 Node.js 的包管理器 npm,是全球最大的开源库生态系统。
摘要:生成密钥对(node服务端) 我们使用 node 内置的 crypto 模块即可,其说明如下 crypto.generateKeyPairSync(algorithm,options); 第一个参数algorithm:指定要生成的密钥对的算法类型。 第二个参数options:一个配置对象,用于指定生 阅读全文
posted @ 2025-08-24 18:21 丁少华 阅读(11) 评论(0) 推荐(0)
摘要:前言 使用了 tsoa 之后,路由参数交互就不再使用 koaBody,那 koaBody 接收文件上传的那一套自然也不会再可行了。 安装multer tsoa 上传文件底层用的是 multer, 这里参考官方教程. npm install @koa/multer multer 这样你就可以直接在项目 阅读全文
posted @ 2025-08-20 16:28 丁少华 阅读(11) 评论(0) 推荐(0)
摘要:一、报错现场 后端使用tsoa生成了openApi文档, 前端再通过执行 orval 生成代码ts类型时,终端突然抛出: Error: Duplicate schema names detected 紧接着生成便中断,目录里只残留了部分 .ts 文件。 经过排查定位到: 两个 Controller 阅读全文
posted @ 2025-08-19 00:26 丁少华 阅读(17) 评论(0) 推荐(0)
摘要:前言 prisma 是 nodejs 一款 ORM框架,也就是所谓的代码 根据 数据库表结构 进行 逆向生成! 生成类型 prisma根据数据库表结构生成的类型在客户端里 表结构如下 CREATE TABLE `user` ( `id` int NOT NULL AUTO_INCREMENT, `e 阅读全文
posted @ 2025-08-18 14:52 丁少华 阅读(67) 评论(0) 推荐(0)
摘要:项目结构 目录结构大致如下 src/ ├─ controllers/ │ └─ user.controller.ts ├─ routes/ │ └─ routes.ts ← tsoa 生成 ├─ services/ │ └─ user.service.ts ├─ app.ts ORM框架生成基本信息 阅读全文
posted @ 2025-08-05 00:31 丁少华 阅读(36) 评论(0) 推荐(0)
摘要:prisma-openapi prisma-openapi 是一个 Prisma 官方生态中的生成器插件, 在ORM生成模型的基础上,还会生成对应的 OpenAPI 3 规范文档(JSON/YAML)和 JSDoc 注释,无需手写任何额外代码。 在 schema.prisma 内(建议顶部)加上一行 阅读全文
posted @ 2025-08-04 23:09 丁少华 阅读(27) 评论(0) 推荐(0)
摘要:前言 我在 clone github仓库的时候 会卡住 一致提示网络超时,以及 安装nvm 也会报错相关 root@someone:~# curl -o- raw.githubusercontent.com | bash % Total % Received % Xferd Average Spee 阅读全文
posted @ 2025-07-18 11:00 丁少华 阅读(92) 评论(0) 推荐(0)
摘要:前言 nodemailer看起来不错。 我们在项目中安装即可 npm install nodemailer 使用 创建一个工具 src\utils\email-helper.ts import nodemailer from "nodemailer"; // 创建一个transporter cons 阅读全文
posted @ 2025-07-16 02:14 丁少华 阅读(9) 评论(0) 推荐(0)
摘要:前言 node v23开始直接支持ts,也就是说可以直接 node xxx.ts。 但是v23成为lts还需要几个月时间吧。 那么再次之前我们应该怎么让他支持呢? tsc 标准的做法,将ts打包成js,然后再运行js。 效率低下,不方便! ts-node 支持直接运行ts脚本: npx ts-nod 阅读全文
posted @ 2025-04-29 14:39 丁少华 阅读(309) 评论(0) 推荐(0)
摘要:vscode的npm栏展示的script不是你想要的?你有强迫症,想自定义吗?接着看 在项目中新增针对性的vscode配置,.vscode>settings.json。 忽略某一个脚本 { "npm.scriptExplorerExclude": [ "format", "build", "prep 阅读全文
posted @ 2024-09-23 11:06 丁少华 阅读(83) 评论(0) 推荐(0)
摘要:nvm for mac/linx 安装 使用yum安装node,最新只能安装到0.12.X 版本,而自定义安装二进制的又有点麻烦,所以用nvm安装 (如果命令下载不下来 可以手动下载到服务器上执行)。 nvm是一款运行在linxu系统上的node版本管理平台(以下为linux版本 不过目前也出了wi 阅读全文
posted @ 2024-09-11 15:21 丁少华 阅读(88) 评论(0) 推荐(0)
摘要:静态页面 其实就是复制官网的代码 其中证书 是我自己申请的可以用证书 dingshaohua.com import fs from "fs"; import http2 from "node:http2"; const server = http2.createSecureServer({ key: 阅读全文
posted @ 2024-09-01 14:34 丁少华 阅读(56) 评论(1) 推荐(0)
摘要:express渲染页面一共有三种方式:将页面作为静态资源 express.static、res.sendFile、res.render。 其中前两种方式都会有默认缓存 Cache-Control: public, max-age=0。 如果你正在学习缓存这一章,那这个坑不要踩。 可以试试原生的nod 阅读全文
posted @ 2024-06-23 17:03 丁少华 阅读(160) 评论(0) 推荐(0)
摘要:前提 .bat 是 Windows 批处理脚本文件的扩展名,用于编写和执行一系列 Windows 命令。 .ps1才是是 PowerShell 脚本文件的扩展名,用于编写和执行 PowerShell 脚本。 PowerShell是更新的windows脚本语言,对比古老的windows早起的脚本语言b 阅读全文
posted @ 2024-06-19 00:39 丁少华 阅读(302) 评论(0) 推荐(0)
摘要:离开express、koa、egg 你还会利用原生node写后端的http服务吗? 定义路由和返回 这里有一个例子,原生node起http服务。 返回了静态页面文件、字符串拼接的html,json对象和优化404。 做个备忘吧! import { createServer } from "http" 阅读全文
posted @ 2024-05-15 17:24 丁少华 阅读(490) 评论(0) 推荐(0)
摘要:前言 nestjs官方文档是英文,太难搞了,摸索了两天 ,把经验记下来。 以后备用 目录结构 |--src //项目根目录 |--modules // 模块 比如用户模块,商品模块 |--app //入口模块 |--utils //一些工具类,比如生成token |--decorator //自定义 阅读全文
posted @ 2023-02-16 15:40 丁少华 阅读(2077) 评论(0) 推荐(0)
摘要:前言 socket.io是原生ws封装的第三方库,它不仅仅对客户端做了封装,还对服务端也进行了封装。 提供了很多能用得到的功能,比如: 断链自动尝试重链 对不支持ws的浏览器做兼容(降级轮循http) 发送和监听消息的封装(原生的,无论前后端写起来都比较冗长) 服务端 socket.io当然不会仅支 阅读全文
posted @ 2022-04-19 11:04 丁少华 阅读(318) 评论(0) 推荐(0)
摘要:前提 比如,我创建了个求和工具包npm-sum 在 npm-sum 文件夹中创建文件 index.js 并且编写一些代码, 如: const sum = (...args) => { return args.reduce((prev, next) => prev + next, 0); } modu 阅读全文
posted @ 2022-04-18 12:10 丁少华 阅读(351) 评论(0) 推荐(0)
摘要:安装 pm2 是 node 包,用来管理 node 程序,我们直接安装即可 npm install -g pm2 常用命令 启动:pm2 start "npm run start" --name myApp 停止:pm2 stop myApp 删除:pm2 stop myApp 删除所有:pm2 d 阅读全文
posted @ 2021-07-27 21:16 丁少华 阅读(3014) 评论(0) 推荐(0)
摘要:安装脚手架工具 npm install -g express-generator 创建项目使用 express 命令 来快速从创建一个项目目录 express demo -e -e表示使用 ejs 模板 bin: 启动目录 里面包含了一个启动文件 www 默认监听端口是 3000 (不用) publ 阅读全文
posted @ 2020-02-15 14:51 丁少华 阅读(393) 评论(0) 推荐(0)