我正在迁移我编写的使用 Gulp + Webpack 的现有工作流程。
继续使用 Gulp 似乎是多余的。随着时间的推移,它所做的只是运行 Webpack。
我决定只使用 npm 的脚本来管理工作流程,但一个问题突然出现在我的脑海中,我自己无法回答。
为什么要在以节点方式编写的单个脚本文件上使用 npm 脚本?
为什么使用这个:
"scripts": {
"test": "test **.js",
"lint": "lint",
"prebuild": "npm run clean", // <-- hurts my eyes
"build": "webpack --bla bla --some more bla",
"minify": "npm run build"
}
在此(即使是清洁也是多余的imo):
"scripts": {
"clean": "./scripts/clean.js", // <-- I get full control on clean operation.
"build": "./scripts/webpack.js", // <-- pre & post operation are invoked when I want them to
}
前一种方法很快就会变得一团糟,传递参数/进行编程操作很痛苦。例如,控制失败的策略、使用自定义记录器或调试似乎是不可能的壮举。