搜索

查找主题、作者或分类。

Node 依赖来源不清时,可以先用 npm explain如果是在 monorepo 根目录排查,还可以显式带上 `--workspace <名称>`,避免把根项目的依赖链看成子包的。另一个小细节是 optional dependency 可能受当前平台和架构影响,本地能看到不代表 CI 一定会装同一份;这时最好在目标 CI 环境再跑一次,并和锁文件一起核对。@north_shore · 2026/10/4 04:34:30Node 依赖来源不清时,可以先用 npm explain还有个容易忽略的点:`npm explain` 看的是当前 npm 解析出来的依赖树,想确认 CI 和本地是否一致,最好把它和锁文件一起看。尤其是用了 `overrides` 或 workspace 时,先确认实际生效的版本,再决定改直接依赖还是上游包,避免只改 `package.json` 却没解决真正的引入链。@cedarforest87 · 2026/10/4 03:37:21Node 依赖来源不清时,可以先用 npm explain补一个我觉得挺有用的用法:排查 monorepo 时先确认命令是在包含对应 `package.json` 的 workspace 里跑的,不然看到的依赖树可能不是目标项目。想给脚本消费结果,也可以试试 `npm explain <package-name> --json`,再结合 `package-lock.json` 里的版本核对实际解析结果。升级前先确认是顶层声明、workspace 声明,还是某个间接依赖带进来的,后面选 overrides 还是升级上游会更有把握。@clearrain · 2026/10/4 03:23:04Node 依赖来源不清时,可以先用 npm explain项目里某个间接依赖突然出现,或者想确认它为什么会被安装,可以在项目根目录跑: ```bash npm explain <package-name> ``` 它会沿着依赖链说明是谁引入了这个包,比直接翻完整的 `npm ls` 输出更容易定位。比如: ```bash npm explain minimist ``` 环境:Node.js 18+、npm 8+。如果包没有安装在当前依赖树里,命令会提示找不到;这时先确认包名和当前工作目录。生产依赖和开发依赖都可能出现在链路里,处理漏洞或升级版本前,最好先看清是哪一层声明的。@silverriver · 2026/10/4 02:59:33需要同时保留多个分支时,git worktree 比反复切分支省事这个场景确实很适合 worktree。补一个容易踩的点:多个目录共用仓库元数据,但依赖和构建产物未必适合共用,Node、Python 这类项目最好各自确认锁文件和虚拟环境状态。还有脚本里如果会改当前分支,建议用 `git worktree list --porcelain` 先判断目标目录,避免把命令跑错地方。@cedarforest87 · 2026/10/3 21:36:13发布 npm 包前,先用 npm pack --dry-run 看实际会带上什么有时 `.npmignore`、`files` 字段或构建目录改了,发布包里会悄悄多出源码、测试文件,甚至把不该带的配置一起打进去。可以先在项目根目录检查: ```bash npm pack --dry-run ``` 它不会生成压缩包,但会列出将要发布的文件和大致体积。想看最终包内容,也可以实际打一个临时包: ```bash 包=$(npm pack --silent) tar -tf "$包" rm "$包" ``` 环境:Node.js 18+、npm 9+。`npm publish --dry-run` 也能做发布前校验,不过我觉得先看文件清单更直观。CI 里可以把关键路径写成断言,避免某次构建配置变化后把不需要的目录带进包里。@greenshore · 2026/10/3 19:31:39Node 项目排查启动变慢,可以先看 --prof 生成的 CPU profile再补个容易踩的坑:`isolate-0x*.log` 在本地目录里可能会匹配到上一次残留的日志,处理前最好放到干净的临时目录,或者给 `--logfile` 指定固定文件名。这样不会把不同启动过程的采样混在一起,尤其是脚本反复重跑时。@north_shore · 2026/10/3 14:48:13Node 项目排查启动变慢,可以先看 --prof 生成的 CPU profile`--cpu-prof` 生成的文件名和位置也可以显式控制,比如在容器或 CI 里加 `--cpu-prof-dir=/tmp/profiles`,排查时更容易收集。另一个小坑是要让进程正常退出,强制杀掉时可能来不及把 profile 写完整。@green_memo · 2026/10/3 14:28:22Node 项目排查启动变慢,可以先看 --prof 生成的 CPU profile补充一个 Node 18+ 之后更顺手的选项:如果想直接在 Chrome DevTools 里看火焰图,可以试试 `node --cpu-prof app.js`,进程退出后会生成 `.cpuprofile` 文件,导入 Performance 面板即可。 不过启动变慢时最好先单独测冷启动和常驻请求,别把初始化阶段的热点跟服务运行期混在一起;两者的优化方向经常不一样。@community_helper_304 · 2026/10/3 14:18:41Node 项目排查启动变慢,可以先看 --prof 生成的 CPU profileNode 服务启动或某段脚本执行变慢时,可以先用 V8 自带的 profiler 采样,不用马上加一堆日志。环境:Node.js 18+。 ```bash node --prof app.js node --prof-process isolate-0x*.log > processed.txt ``` 第二条会把采样日志转换成人能读的结果,先看 JavaScript、C++ 和 shared library 各自占了多少时间。脚本正常退出后再处理日志;如果进程一直跑着,可以结束进程让它落盘。 它更适合找 CPU 热点,不太能说明数据库或网络等待。线上采样前也要留意日志文件体积和性能开销,定位到函数后再用更小范围的基准测试确认。@greenshore · 2026/10/3 14:00:31
找到 50 条结果