可观测学堂

可观测问答

聚焦概念、架构、排障、价格与选型,一篇解决一个明确问题。

文件、模块与依赖组织示意
技术指南

如何查看已安装 npm 包的版本?

查看已装包版本用 npm list <包名>;查最新版本用 npm view <包名> version;列出全部顶层依赖用 npm ls --depth=0,加 -g 看全局。本文汇总常用命令。

Node.js 事件循环与异步任务示意
技术指南

Node.js 报 EADDRINUSE(Address already in use)怎么办?

EADDRINUSE 表示端口被占用。解决:lsof -i :端口号 找到进程,kill 掉;或换端口。也常因"服务已在后台运行"或进程未优雅退出导致。本文给出各系统排查命令与预防措施。

文件、模块与依赖组织示意
技术指南

npm 不加 sudo 就报权限错误,怎么解决?

npm 全局安装要 sudo 是目录权限问题,根治方法是把 npm 全局目录改到用户家目录(npm config set prefix),或用 nvm 管理 Node。不要用 sudo 装包。本文给出完整修复步骤。

文件、模块与依赖组织示意
技术指南

Node.js 如何列出一个目录下的所有文件?

Node.js 列目录用 fs.readdir:回调版、Promise 版(fs.promises.readdir)、同步版(readdirSync)任选。加 withFileTypes 可区分文件与目录,递归遍历需自行实现或用第三方库。本文给出完整写法。

文件、模块与依赖组织示意
技术指南

Node.js 如何获取当前脚本的路径?

CommonJS 用 __filename 取当前脚本完整路径、__dirname 取所在目录;ES Module 里没有这两个变量,需用 import.meta.url + fileURLToPath 转换。本文给出两种模块体系的写法。

Node.js 事件循环与异步任务示意
技术指南

Express 如何获取 GET 请求的 URL 参数?

Express 获取 GET 查询参数用 req.query(如 /search?q=node → req.query.q);路径参数用 req.params;表单 POST 体用 req.body。本文分清三者并给出完整示例。

文件、模块与依赖组织示意
技术指南

Node.js 如何引入(include)其他文件里的函数?

Node.js 引入其他文件的函数:CommonJS 用 module.exports 导出 + require 引入;ES Module 用 export/import。本文给出两种模块体系的完整写法与混用注意事项。

文件、模块与依赖组织示意
技术指南

如何安装 npm 包的指定(旧)版本?

安装指定版本:npm install 包名@版本号(如 lodash@4.17.20)。支持 ^、~ 版本范围、latest 标签、甚至 Git 地址。本文汇总版本号写法与锁定技巧。

文件、模块与依赖组织示意
技术指南

如何列出 npm 已安装的包(本地/全局)?

列出 npm 已安装包:npm list 看项目依赖树,npm list -g --depth=0 看全局顶层包,npm ls --depth=0 看项目顶层依赖。本文说明各命令差异与实用过滤技巧。

文件、模块与依赖组织示意
技术指南

Python 如何在一条表达式里合并两个字典?

Python 合并字典:Python 3.9+ 用管道运算符 z = x | y;通用写法用解包 z = {x, y};就地合并用 x.update(y)。键冲突时后者覆盖前者。本文对比三种写法。

Node.js 事件循环与异步任务示意
技术指南

如何给 Node.js 程序传递并读取命令行参数?

Node.js 命令行参数通过 process.argv 数组读取:argv[0] 是 node 路径,argv[1] 是脚本路径,argv[2] 起才是你的参数。带选项的参数解析推荐 minimist 或 util.parseArgs。本文给出完整写法。

文件、模块与依赖组织示意
技术指南

如何避免安装 package.json 里的 devDependencies?

只装生产依赖:npm install --omit=dev(旧写法 --production);或设 NODE_ENV=production 后 npm install。部署和 Docker 构建必备。本文给出命令、Dockerfile 写法与注意事项。