npm script 是 package.json 中 scripts 字段定义的命令别名,用于通过 npm run xxx 执行 shell 命令;支持自定义脚本、pre/post 钩子、本地 cli 工具调用及跨平台命令写法。

在 JavaScript 项目中,npm 的 script 是通过 package.json 文件里的 scripts 字段来配置的。它本质是一组可执行的命令别名,让你用 npm run xxx 就能快速运行复杂操作,不用反复敲长命令。
在 package.json 中添加自定义脚本
打开项目的 package.json,找到或新建 "scripts" 对象,然后按 "名称": "要执行的命令" 格式写入即可。例如:
-
"start": "node index.js"→ 运行npm start就等价于执行node index.js -
"dev": "nodemon app.js"→ 需先npm install --save-dev nodemon -
"build": "tsc && webpack"→ 多条命令用&&串联,前一条成功才执行后一条
支持常见命令写法和工具集成
脚本值可以是任意合法的 shell 命令,包括 Node.js 内置命令、本地安装的 CLI 工具(如 tsc、eslint、jest),甚至带参数的调用:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
"test": "jest --coverage""lint": "eslint src/**/*.js --fix"-
"clean": "rm -rf dist && mkdir dist"(macOS/Linux)或"clean": "del /q dist && mkdir dist"(Windows)
利用 pre/post 钩子自动串联流程
npm 支持命名约定的生命周期钩子:在某个脚本名前加 pre 或后加 post,就能让它自动在主脚本前后执行:
"prebuild": "npm run clean""build": "tsc""postbuild": "echo 'Build completed!'"
此时运行 npm run build,会依次执行 clean → tsc → echo,形成完整构建流。
运行方式与注意事项
所有自定义脚本都用 npm run xxx 执行(start、test 等少数几个可省略 run,直接 npm start):
- 脚本中调用的命令必须已安装:全局安装或作为
devDependencies本地安装 - 推荐优先本地安装(
npm install --save-dev xxx),保证团队环境一致 - Windows 用户注意路径分隔符和删除命令差异,可考虑用
rimraf替代原生命令提升跨平台兼容性
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










