1. 任务自动化入口
- package.json 的 scripts 字段允许开发者定义项目级命令,如 npm run build、npm test
- 将复杂的命令行操作封装为简短、语义化的脚本名,降低团队协作成本
- 脚本可以直接调用 node_modules/.bin 中的可执行文件,无需配置全局 PATH
2. 生命周期钩子
- npm 支持 pre 与 post 前缀的钩子脚本,在主脚本前后自动执行
- 内置生命周期事件包括 prepare(发布前准备)、prepublishOnly(仅发布前执行)、prepack、postpack 等
- prepare 脚本在 npm publish 与本地 npm install 时均会运行,常用于编译源码
3. 环境变量与参数传递
- 脚本运行时自动注入 npm_package_name、npm_package_version 等环境变量
- 使用 -- 分隔符向脚本传递额外参数,如 npm run build -- --watch
- 通过 npm_config_* 前缀访问 npm 配置项,实现脚本的动态化