npm script是package.json中可以定义的脚本命令,可以用来实现自动化构建,例如:
"scripts": {
"dev": "node hallo.js"
}
npm run dev // 等于执行node hallo.js
查看当前项目的全部npm脚本
npm run
注意:当前项目的node_modules/bin下的全部依赖都可以直接访问
如果要执行多个脚本可以用&&(依次运行),&(并行运行)
npm script有pre和post两个钩子,这两个钩子可以分别来做准备工作和清理工作等等,例如:
"scripts": {
"predev": "echo hallo",
"dev": "node hallo.js",
"postdev": "echo yes"
}
相对于npm run predev && npm run dev && npm run postdev
像install,uninstall,publish,test,start等等都有pre和post这两个钩子
查看正在运行的脚本
const NpmScript = process.env.npm_lifecycle_event console.log(NpmScript)
可以缩写不用run,例如:npm dev
npm script可以使用npm内部变量,例如:
{
"name": "root",
"scripts": {
"dev": "node hallo.js $npm_package_name"
}
}
获取npm内部变量name
console.log(process.env.npm_package_name)
脚本错误抛出
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
}
传递参数
{
"scripts": {
"dev": "node hallo.js"
}
}
const name = process.env.npm_config_name console.log(name)
npm run dev –name=root
可以看到获取到了参数name的值