npm 脚本:掌握脚本执行的更多秘密
2024-01-15 17:37:38
导言
谈到 npm,大多数开发人员都知道可以通过 npm run script-name
在命令行中轻松执行 package.json
中定义的脚本。然而,对于 npm 脚本的全部功能,您可能并不了解。本文将深入探讨 npm 脚本的鲜为人知方面,揭示其隐藏的力量和应用潜力。
执行更多脚本
当您键入 npm start
时,默认情况下 npm 会执行 package.json
脚本中的 start
脚本。但是,您还可以指定其他脚本,如下所示:
npm run [script-name]
这使您可以方便地执行 test
、build
或任何您在脚本对象中定义的其他自定义脚本。
参数传递
npm 脚本允许您向脚本传递参数,从而增加其灵活性。要传递参数,请在脚本名称后添加空格和参数列表:
npm run [script-name] [arg1] [arg2] ...
例如,以下命令将运行 build
脚本并传递两个参数:
npm run build --prod --env=staging
嵌套脚本
npm 脚本支持嵌套,这意味着一个脚本可以调用另一个脚本。这允许您创建更复杂的脚本管道,从而自动化复杂的任务。要嵌套脚本,请在脚本名称前添加 &&
或 ||
:
"scripts": {
"build": "npm run clean && npm run compile",
"clean": "rimraf dist",
"compile": "tsc"
}
在上面的示例中,build
脚本将首先运行 clean
脚本,然后运行 compile
脚本。
环境变量
npm 脚本可以访问环境变量,这使您可以动态调整脚本的行为。要访问环境变量,请使用 process.env
对象:
console.log(process.env.NODE_ENV); // 输出:"production"
自定義腳本名稱
默認情況下,npm 脚本的名稱與其對應的屬性名稱相同。但是,您可以自定義腳本名稱,如下所示:
"scripts": {
"start": "node app.js",
"build:prod": "webpack --mode production"
}
在上面的示例中,start
脚本將執行 app.js
文件,而 build:prod
脚本將使用 webpack
的生產模式構建應用程序。
结论
npm 脚本远不止简单的命令执行。它们提供了各种高级功能,可帮助您自动化任务、提高灵活性并增强您的开发工作流程。通过掌握这些鲜为人知的技巧,您可以充分利用 npm 脚本,使其成为您开发工具箱中不可或缺的工具。