0

我发现的关于这个主题的最后一篇文章是从 2015 年秋季开始的。我认为这是每个开发人员迟早都需要的基本内容之一。

我想根据实际的构建配置(调试/登台/发布)等来区分我的 gulp 任务。我实际上不需要将它与 Visual Studio 的解决方案配置连接起来。

这是一个建议的解决方案:我们将在 Task Runner Explorer 中将其作为一个选项,然后在任务绑定中,我可以勾选我想在哪些配置中运行任务。

只有我需要这个吗?

4

1 回答 1

0

我不使用 TRX,但您可以将这些任务中的任何一个绑定到诸如“项目打开”或“构建之前”之类的事件。我使用 gulp-if 并在父任务中设置变量,然后使用run-sequence. (未经测试的代码)

gulpfile.js

var gulp = require('gulp'),
       $ = require('gulp-load-plugins')(),
       requireDir = require('require-dir')('./js/gulp/tasks'),
       runSequence = require('run-sequence'),
       vars = require('./variables');

gulp.task('dev', function(){
      vars.isProduction = false;
      runSequence('clean', ['css', 'scripts']);
});
gulp.task('prod', function(){
      vars.isProduction = true;
      runSequence('clean', ['css', 'scripts']);
});

/js/gulp/tasks/scripts.js

gulp.task('scripts', function () {
    return gulp.src('scripts/**/*.js')
       .pipe($.concat('app.min.js'))
       .pipe($.if(vars.isProduction, $.uglify()))
       .pipe(gulp.dest('/js'))
       .pipe($.plumber({
          errorHandler: vars.onError
        }))
       .pipe($.if(!vars.isProduction, $.livereload()));

变量.js

module.exports = {
    isProduction: false,
    onError: function (err) {
        log(err);
    }
};
于 2016-04-15T23:05:06.627 回答