我的构建脚本有两个要求:
gulp clean build,clean必须在build
开始前完成. gulp build,那么clean不应该跑.所以,如果clean指定了,那么build应该等待它,否则启动.
如果我这样做,第一部分是可能的
gulp.task('clean');
gulp.task('build', ['clean']);
Run Code Online (Sandbox Code Playgroud)
但是,这违反了第2点
如果我做
gulp.task('clean');
gulp.task('build');
Run Code Online (Sandbox Code Playgroud)
这违反了第1点
吞咽这可能吗?
Bal*_*zar 13
您不能像使用所需的依赖关系管理那样使用相同的命令运行两个gulp任务.
无论如何,您可以将一个参数传递给您的build任务,该任务将允许使用一个小三元组clean在运行之前等待一个完成.
所以像这样:
gulp.task('build', (process.argv[3] === '--clean') ? ['clean'] : null, function () {
...
});
Run Code Online (Sandbox Code Playgroud)
这样,您可以正常启动您的构建
gulp build
Run Code Online (Sandbox Code Playgroud)
当你想用以下方式调用它时clean:
gulp build --clean
Run Code Online (Sandbox Code Playgroud)
有很多方法可以获得更好的参数处理,例如yargs或gulp -util的env .但我发现我的方法很好,因为它不需要任何额外的依赖.
| 归档时间: |
|
| 查看次数: |
1875 次 |
| 最近记录: |