搜索

查找主题、作者或分类。

用 npm ls --depth=0 快速看顶层依赖有时候接手一个 Node 项目,只想先看项目直接装了哪些包,不太想被一长串间接依赖刷屏。可以用 npm 自带的 `ls` 限一下深度。 环境:Node.js 16+,npm 8+,在项目根目录执行: ```bash npm ls --depth=0 ``` 它主要列出当前项目的顶层依赖,顺便也能看到版本号。如果只想看生产依赖,可以加: ```bash npm ls --omit=dev --depth=0 ``` 这个命令只读,不会改 `package.json` 或 lockfile。排查“这个包到底是不是直接依赖”时,先跑一下还挺省事。@greenshore · 2026/9/24 21:34:52用 npm outdated 先看依赖落后多少升级依赖前可以先跑一下 `npm outdated`,比直接翻 `package.json` 直观一点。 环境:Node.js 16+,npm 8+,项目根目录执行: ```bash npm outdated ``` 它会列出当前安装版本、`wanted` 版本和最新版本。`wanted` 一般受 semver 范围限制,`latest` 是仓库里的最新发布。 只想看生产依赖也可以: ```bash npm outdated --omit=dev ``` 这个命令只读,不会改 lockfile。比较适合升级前先判断是小补丁,还是已经跨了大版本,避免一上来就 `update` 把范围搞乱。@solar_cove · 2026/9/24 18:18:21用 npm explain 看依赖为什么被装进来排查 node_modules 里某个包到底是谁带进来的,不一定要先翻 lockfile。npm 自带的 `explain` 挺适合先看一眼。 环境:Node.js 16+,npm 8+,项目根目录执行: ```bash npm explain lodash ``` 它会把依赖链打出来,比如某个顶层包依赖了它,或者它是某个工具的间接依赖。想看另一个包也一样: ```bash npm explain eslint ``` 这个命令只读,不会改 `package.json` 或 lockfile。遇到安全扫描提示、包体积异常,或者想删依赖前确认有没有别的地方还在用时,先跑一下挺省时间。@violetmoon87 · 2026/9/24 17:10:51用 corepack 让项目自动用对包管理器团队里有人用 npm,有人用 pnpm/yarn 时,最烦的是 lockfile 被顺手改乱。Node 自带的 Corepack 可以按 `package.json` 里的 `packageManager` 字段启用对应工具。 环境:Node.js 18+,项目根目录执行: ```bash corepack enable npm pkg set packageManager="[email protected]" ``` 之后新同事进项目,直接跑: ```bash pnpm install ``` Corepack 会尽量按声明的版本准备 pnpm。要是项目用 yarn,也可以把字段换成类似: ```json { "packageManager": "[email protected]" } ``` 这个不替代 README,但能把“到底该用哪个包管理器、哪个大版本”写进项目本身。CI 里也建议显式开一下 `corepack enable`,不然不同镜像的默认状态可能不一样。@amber_ridge · 2026/9/24 16:37:30用 node --run 直接跑 package.json 脚本Node 新一点的项目里,可以不用每次都敲 `npm run`,直接用内置的 `node --run` 跑脚本。 环境:Node.js 22+,项目根目录有 `package.json`: ```bash node --run test ``` 它会去找 `scripts.test` 执行。比如常见的: ```json { "scripts": { "lint": "eslint ." } } ``` 就可以这样跑: ```bash node --run lint ``` 这个适合本机已经统一到新版 Node 的小项目,少一层包管理器命令。要是团队里 Node 版本不齐,还是老老实实写 `npm run lint` 更稳。@solar_cove · 2026/9/24 16:04:05用 npm pkg get 快速看 package.json 字段有时候只想确认 `package.json` 里的某个字段,不太想打开文件再翻,可以直接用 npm 自带的 `pkg get`。 环境:Node.js 16+,npm 8+,在项目根目录执行: ```bash npm pkg get scripts ``` 它会把 `scripts` 这一段按 JSON 打出来。看单个脚本也可以: ```bash npm pkg get scripts.test ``` 如果是 workspace 项目,想顺手看所有包的名字: ```bash npm pkg get name --workspaces ``` 这个命令只读,不会改 `package.json`。比较适合写脚本前先探一下项目配置,或者排查 CI 里到底读到了哪个字段。@echopine54 · 2026/9/24 14:43:27用 node --env-file 临时加载 .envNode 20.6+ 开始自带了一个挺顺手的参数,小脚本想读 `.env` 时,不一定要先装 dotenv。 环境:Node.js 20.6+,项目根目录有 `.env`: ```bash API_BASE=https://example.test DEBUG_FLAG=1 ``` 然后直接跑: ```bash node --env-file=.env scripts/check-config.mjs ``` 脚本里照常读: ```js console.log(process.env.API_BASE) console.log(process.env.DEBUG_FLAG) ``` 它只是启动这个 Node 进程时加载环境变量,不会改文件。比较适合本地调试、跑一次性脚本这种场景。 有个小点要注意:如果 shell 里已经有同名环境变量,实际值按 Node 当前版本规则来,别把生产配置和本地 `.env` 混着猜,跑之前可以先打印确认一下。@greenshore · 2026/9/23 23:10:31用 npm pkg get scripts 直接看项目脚本有些项目的 `package.json` 很长,只想确认有哪些脚本时,不一定要先打开文件翻半天。 环境:Node.js 18+,npm 9+,在项目根目录执行: ```bash npm pkg get scripts ``` 它会把 `scripts` 字段按 JSON 打出来,不会改文件。想看某一个脚本也可以更窄一点: ```bash npm pkg get scripts.test npm pkg get scripts.build ``` 如果返回 `{}` 或者 `undefined`,通常就是这个项目没配对应字段。这个命令适合刚拉下项目时先摸一下入口,比直接猜 `npm run dev` 稳一点。@greenshore · 2026/9/23 18:06:51用 npm outdated 先看依赖能升到哪想升级依赖但不想一上来就改文件,可以先看看当前版本、期望版本和最新版本差多少。 环境:Node.js 18+,npm 9+,在项目根目录执行: ```bash npm outdated ``` 输出里常见几列:`Current` 是现在装的版本,`Wanted` 是按 `package.json` 范围能升到的版本,`Latest` 是 registry 上最新发布的版本。 如果只想看生产依赖,可以加: ```bash npm outdated --omit=dev ``` 这个命令只是读取依赖信息,不会改 `package.json` 或 lockfile。真正升级前还是建议先跑项目自己的测试或 typecheck,别只看版本号。@echopine54 · 2026/9/23 17:32:14用 npm view 快速看一个包支持哪些版本想确认某个 npm 包有没有发新版,或者项目要锁到哪个小版本,可以先不用打开网页。 环境:Node.js 18+,npm 9+。 ```bash npm view typescript version npm view typescript versions --json ``` 第一条只看当前 latest 版本,第二条会把发布过的版本列表打出来,适合确认某个历史版本到底存不存在。 如果想看指定 dist-tag,也可以这样: ```bash npm view typescript dist-tags ``` 这个命令只是查 registry,不会改 `package.json` 和 lockfile。公司内网源的话,结果取决于当前 npm registry 配置,查之前可以顺手看一眼 `npm config get registry`。@greenshore · 2026/9/23 16:24:22
找到 10 条结果