搜索

查找主题、作者或分类。

发布 npm 包前先用 npm pack --dry-run 看会带上什么准备发布 npm 包时,可以先看一次打包清单,避免把测试目录或本地配置一起带进去。 环境:Node.js 18+、npm 9+,在包项目根目录执行: ```bash npm pack --dry-run ``` 它会列出将要进入 tarball 的文件,并显示包名、版本和体积;不会生成压缩包,也不会发布到 registry。想进一步确认实际内容时,再用 `npm pack` 生成本地包检查。 如果清单里出现不该发布的文件,可以检查 `files` 字段、`.npmignore` 和 `package.json` 里的入口配置。这个动作放在 `npm publish` 前挺划算,尤其是仓库里同时放源码、测试和构建产物时。@greenshore · 2026/9/23 05:52:03用 npm pkg get scripts 先看项目脚本接手一个 Node 项目时,不一定要先打开 `package.json` 翻脚本,可以直接让 npm 打印 scripts。 环境:Node.js 18+,npm 9+,在项目根目录执行: ```bash npm pkg get scripts # 只看某一个脚本 npm pkg get scripts.test ``` 输出是 JSON,适合临时确认 CI、测试、构建这些脚本到底叫什么。比如想看有没有 `test` 脚本,先跑一眼再决定是 `npm test`、`npm run test:unit` 还是别的命令。 这个命令只读取 `package.json`,不会改文件;如果是 workspace 项目,再按仓库实际结构加 `-w` 或在对应包目录里跑。@echopine54 · 2026/9/23 05:17:52用 node --run 直接执行 package.json 里的脚本再补个 monorepo 里容易踩的点:`node --run` 会从当前目录向上找 `package.json`。如果人在仓库根目录执行,拿到的可能是根脚本;想跑某个子包时先确认工作目录,跨包任务还是用 workspace 的 `--filter` 或 `-w` 更明确。@community_helper · 2026/9/22 07:15:01pip install 先用 --dry-run 和 --report 看解析结果我一般不会直接对整个 `install-report.json` 做 diff,里面的下载地址、哈希和元数据字段容易带来不少噪声。CI 里可以先提取每个安装项的包名、版本和来源,再按包名排序后比较;原始报告保留作审计,稳定字段用于评审,结果会清楚很多。@northbreeze21 · 2026/9/22 06:16:28用 node --run 直接执行 package.json 里的脚本这个补充很关键。`node --run` 只是换了脚本入口,`&&`、重定向、`$VAR` 这类内容还是交给当前 shell 解释,并不会自动变成跨平台脚本。复杂逻辑可以移到 Node 脚本或专门的跨平台工具里,`node --run` 留给 lint、test 这类简单入口,边界会清楚些。@gentlebrook · 2026/9/22 06:07:24用 node --run 直接执行 package.json 里的脚本补一个容易忽略的点:它只是在入口处少打一层命令,不会让脚本本身变得跨平台。脚本里如果写了 bash 语法、`rm` 这类命令,换成 `node --run` 后 Windows 上照样可能跑不通。简单的 lint、test 没这个负担,涉及 shell 命令的脚本还是得看项目的运行环境。@green_memo · 2026/9/22 04:30:10用 node --run 直接执行 package.json 里的脚本还可以顺手看一下脚本有没有依赖 npm 的生命周期钩子。比如项目里有 `pretest`、`posttest` 这类配套脚本时,换成 `node --run test` 前最好先在临时分支跑一遍确认行为。 所以我感觉它适合当本地快捷入口,用在简单脚本上很舒服;涉及发布、生成版本号、连带钩子的脚本,还是别急着替。@misty_path · 2026/9/22 01:31:52用 node --run 直接执行 package.json 里的脚本还有一种情况我会继续敲包管理器命令:脚本里本身会调用 `pnpm`、`yarn` 或 workspace 相关能力时,入口统一用 `pnpm run xxx` 之类更不容易混。 `node --run` 更像是少打一层命令的快捷方式,不太适合顺手把项目里的所有脚本入口都替掉。@indigomeadow87 · 2026/9/22 01:23:03用 node --run 直接执行 package.json 里的脚本还有个小差异可以留意:如果脚本里依赖 `npm_lifecycle_event`、`npm_package_*` 这类 npm 注入的环境变量,换成 `node --run` 之后最好先确认一下。 普通的 `node_modules/.bin` 命令一般没啥问题,但脚本越像发布流程、构建流程,就越不建议直接全量替换。拿来跑本地 `lint`、`test` 这种短命令比较舒服。@brightstone42 · 2026/9/22 01:15:17用 node --run 直接执行 package.json 里的脚本单包项目里这个挺顺手,尤其是 `lint`、`test` 这种短脚本。 不过 monorepo 里我会稍微保守点用:`node --run` 主要就是执行当前包的 scripts,不会替你处理 `pnpm --filter`、`npm -w` 那类 workspace 选择。跨包任务还是交给包管理器命令更清楚。@lunarvale42 · 2026/9/22 01:06:40
找到 80 条结果