gpt4 book ai didi

javascript - 优化 Gulp 任务

转载 作者:行者123 更新时间:2023-11-28 08:09:25 26 4
gpt4 key购买 nike

我的 gulp 文件中有以下任务:

gulp.task('jshint', function() {
return gulp.src(jsSrc)
.pipe(jshint())
.pipe(jshint.reporter('jshint-stylish'));
});

gulp.task('jscs', function() {
return gulp.src(jsSrc)
.pipe(jscs());
});

gulp.task('jslint', [ 'jshint', 'jscs' ]);

据我了解,如果我运行jslint,我将无法获得仅从第一张光盘读取的好处。为此,我必须将其重写为如下所示:

gulp.task('jslint', function() {
return gulp.src(jsSrc)
.pipe(jshint())
.pipe(jscs())
.pipe(jshint.reporter('jshint-stylish'));
});

这很好,只是它不允许我独立于 jscs 运行 jshint 任务(如果我愿意的话)。

因此我想知道这方面的最佳实践是什么?我当时想我可以将事情分解成不同的功能,然后将事情编排在一起,但这似乎不是正确的方法。

最佳答案

我见过并使用的解决方案是:

var merge = require('merge-stream');

gulp.task('analyze', function() {
var jshint = analyzejshint(config.js);
var jscs = analyzejscs(config.css);

return merge(jshint, jscs);
});

function analyzejshint(sources, overrideRcFile) {
var jshintrcFile = overrideRcFile || './.jshintrc';
console.log('Running JSHint');
return gulp
.src(config.js)
.pipe(plug.jshint(jshintrcFile))
.pipe(plug.jshint.reporter('jshint-stylish'));
}

function analyzejscs(sources, overrideRcFile) {
var jscsrcFile = overrideRcFile || './.jscsrc';
console.log('Running JSCS');
return gulp
.src(config.js)
.pipe(jscs(jscsrcFile))
}

如果您只想执行一个,您可以只从其中一个函数返回流。

关于javascript - 优化 Gulp 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24461065/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com