配置自定义构建脚本的核心是编辑 package.json 的 scripts 字段,通过键值对为命令起别名,确保依赖本地安装、使用 pre/post 钩子自动串联流程,并推荐跨平台工具提升兼容性。

在 JavaScript 项目中,配置自定义构建脚本的核心就是编辑 package.json 文件中的 scripts 字段。它不是额外安装工具,而是用标准的 JSON 键值对,把常用命令“起个简短名字”,让团队或你自己能用统一、可读、可复用的方式执行构建流程。
基础写法:定义一个 build 脚本
打开你的 package.json,找到或新建 scripts 对象,在里面添加一条键值对:
-
键名(如
build)是你要运行的命令别名,比如npm run build - 值(字符串)是你真正要执行的命令,可以是 Node.js 命令、本地 CLI 工具、Shell 指令等
例如:
"scripts": {
"build": "tsc && webpack --mode production"
}
这表示:先运行 TypeScript 编译(tsc),成功后再执行 Webpack 打包。注意 && 是 Shell 运算符,确保前一步成功才继续。
立即学习“Java免费学习笔记(深入)”;
依赖必须本地安装
脚本里调用的命令(如 tsc、webpack、eslint)不能只靠全局安装——那样容易导致环境不一致。正确做法是:
- 作为开发依赖安装:
npm install --save-dev typescript webpack webpack-cli - npm run 执行时会自动把
node_modules/.bin加入 PATH,所以脚本里直接写tsc就行,不用写完整路径
用 pre/post 钩子组织构建流程
不需要手动挨个执行清理 → 编译 → 打包 → 提示,npm 支持约定式钩子自动串联:
"scripts": {
"prebuild": "rm -rf dist",
"build": "tsc && webpack --mode production",
"postbuild": "echo '✅ 构建完成,输出在 dist/ 目录'"
}
此时运行 npm run build,npm 会自动按顺序执行 prebuild → build → postbuild。Windows 用户可用 rimraf dist 替代 rm -rf 提升兼容性。
跨平台与可维护性建议
避免硬写系统命令差异(如 del vs rm)。推荐做法:
- 用轻量跨平台工具替代原生命令,例如:
rimraf(清目录)、cross-env(设环境变量) - 复杂逻辑可抽成独立 JS 文件,再在 script 中调用:
"build": "node scripts/build.js" - 给脚本加注释说明用途(JSON 不支持注释,可放在 README 或用描述性命名,如
build:prod)


















