【问题标题】:How do I restart the Task Runner within visual studio?如何在 Visual Studio 中重新启动 Task Runner?
【发布时间】:2017-11-22 22:09:09
【问题描述】:

我有一个 gulp 任务将我的 .less 文件转换为 css。这可以正常工作,直到 less 文件中出现语法错误。这会导致 gulp 崩溃,Task Runner Explorer 停止,我无法重新启动它。我必须卸载/重新加载项目才能更改语法错误。

任何想法如何重新启动 Task Runner Explorer?

【问题讨论】:

标签: visual-studio gulp task-runner-explorer


【解决方案1】:

我正在使用 Visual Studio 2017,在任务运行器资源管理器中,您可以右键单击我不想运行的任务,然后您可以按运行来启动该任务 图片:https://i.stack.imgur.com/gHYFy.png

【讨论】:

    【解决方案2】:

    任务可以随时启动和重新启动。非终止任务,如“监视”任务,可以多次启动,并且将并行运行,除非终止。启动任务的一种方法是在列表中双击它。上下文菜单中还有一个“运行”命令。

    终止任务

    我今天也有同样的问题,但出于其他原因。显然关闭关联的控制台窗口会终止任务。

    我记得在一些旧版本的 Visual Studio 中,我必须手动打开 Task Runner Explorer,否则任务将无法启动。

    关于语法错误

    为了避免重新启动任务的麻烦,添加某种类型的错误处理。可能有更多解决方案,但我使用了this one。这是一个较短的版本:

    const gulp = require('gulp');
    const plumber = require('gulp-plumber');
    const lessCompiler = require('gulp-less');
    
    const lessFiles = 'Styles/**/*.less';
    const compileLessTaskName = 'compile-Less';
    gulp.task(compileLessTaskName, function () {
      return gulp.src(lessFiles)
        // Calling plumber at the start of the pipeline. In case of error, this stops
        // the task without killing the whole process.
        .pipe(plumber(function (error) {
          console.log(error.message);
          this.emit('end');
        }))
        .pipe(lessCompiler())
        .pipe(gulp.dest('wwwroot/css'));
    });
    
    gulp.task('watch', function (asyncCallback) {
        gulp.watch(lessFiles, [compileLessTaskName]);
        asyncCallback();
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-24
      • 1970-01-01
      • 2018-03-16
      • 1970-01-01
      • 2018-05-05
      • 1970-01-01
      相关资源
      最近更新 更多