【问题标题】:VS2017 Task Runner Explorer No Tasks FoundVS2017 Task Runner Explorer 未找到任务
【发布时间】:2017-08-31 22:19:53
【问题描述】:

我正在尝试在 VS 2017 中的 MVC Core 项目中设置 gulp。我拥有我认为有效的 gulpfile.js:

var gulp = require('gulp');
var rimraf = require('rimraf');
var concat = require('gulp-concat');
var cssmin = require('gulp-cssmin');
var uglify = require( 'gulp-uglify' );

var paths = {
    webroot: './wwwroot/',
};

paths.js = paths.webroot + 'js/**/*.js';
paths.minJs = paths.webroot + 'js/**/*.min.js';
paths.css = paths.webroot + 'css/**/*.css';
paths.minCss = paths.webroot + 'css/**/*.min.css';
paths.concatJsDest = paths.webroot + "js/site.min.js";
paths.concatCssDest = paths.webroot + "css/site.min.css";

gulp.task("clean:js", function (cb) {
    rimraf(paths.concatJsDest, cb);
});

gulp.task("clean:css", function (cb) {
    rimraf(paths.concatCssDest, cb);
});

gulp.task( "clean", ["clean:js", "clean:css"] );

但是当我打开 Task Runner Explorer 时,我收到消息“(未找到任务)”。

我已经检查以确保所有 gulp 软件包都是通过 npm 安装的。我还添加了一个 package.json 文件。但是仍然没有找到任务。

我做错了什么?

【问题讨论】:

    标签: gulp visual-studio-2017


    【解决方案1】:

    就我而言,我也有同样的情况。我安装了所有要求,但 gulp 仍然无法在任务运行器资源管理器上运行,没有找到任何任务。我通过取消选中 $(VSInstalledExternalTools) 解决了它。

    工具 > 选项 > 项目和解决方案 > Web 包管理 > 外部 Web 工具

    【讨论】:

      【解决方案2】:

      就我而言,我已经安装了 gulp(在此之前,Task Runner Explorer 在 Gulpfile.js 下显示“加载失败”)

      但我仍然有这样的“未找到任务”

      此外,当我要求 Visual Studio 将我的 bundleconfig.json 转换为 gulp 时,它已经告诉我它已经安装了所有必需的节点包。但尽管如此,gulp 仍然不高兴(我的 web 应用根目录下的 node_modules 目录非常空)。

      再次运行“npm install gulp”我在命令行中注意到了这一点

      并认为这可能是写权限问题,因为 package.json 在我的项目中处于源代码控制之下。我检查了它并重新运行“npm install gulp”和类似的相关软件包,如 gulp-concat,现在我有一个非常完整的 node_modules 目录并且...... gulpfile.js 工作吗?好吧,不,但我现在遇到了一个不同的错误,所以我很确定我现在遇到了一个不同的问题:-/

      TL;DR;如果您使用源代码管理,请确保在开始安装节点包之前检查您的 package.json。

      【讨论】:

        【解决方案3】:

        您还需要安装所有依赖项 - 我的 VS Task Runner 在新安装时失败且没有任何错误消息 - 我已经在本地安装了 gulp,但我的 gulpfile.js 显示了以下必需模块:

        var util = require('gulp-util'),
            gulp = require("gulp"),
            concat = require("gulp-concat"),
            cssmin = require("gulp-cssmin"),
            rename = require('gulp-rename'),
            babel = require('gulp-babel'),
            terser = require("gulp-terser")
            //del = require("del"); 
            ;
        

        其中一个不见了,所以我跑了

        npm install gulp-util
        npm install gulp-concat
        npm install gulp-cssmin
        npm install gulp-rename
        npm install gulp-babel
        npm install gulp-terser
        

        任务运行器显示了我的任务 - 其中一个模块未正确加载。奇怪的行为,因为 gulpfile.js 和任务运行程序上周正常工作,唯一的更改是在本地安装一些不相关的节点模块。

        【讨论】:

          【解决方案4】:

          我遇到了同样的问题,运行两个命令后解决了这个问题。流程如下:

          1) 在visual-studio中右击你的gulp文件,选择“Open Command Line > PowerShell”

          2) 运行命令npm install gulp 安装gulp。 (你必须在你的项目中安装 gulp,不管你是否已经全局安装了 gulp,但是在这种情况下你必须在你的项目中安装 gulp)

          然后按回车键。

          3) 执行命令后,转到 Visual-Studio 中的任务运行器资源管理器,然后按刷新按钮。

          按下刷新按钮后,您将在任务运行器下看到所有任务列表。

          如果您在如下输出窗口中发现任何与“缺少模块”相关的错误:

          然后您必须安装缺少的 npm 插件,为此只需运行以下命令(进入 powershell): npm install 并按回车键。 该命令将安装所有缺少的插件,参考下图:

          然后再次按下任务运行器资源管理器中的刷新按钮,您将在任务运行器窗口下看到所有 gulp 任务列表。

          希望这个解决方案会有所帮助。

          【讨论】:

          • 如果您的菜单中没有“打开命令行”选项,请下载打开命令行扩展程序(VS 2017-2019VS 2022)或右键单击您的目录gulpfile.js 在并选择“在终端中打开”
          【解决方案5】:

          显然,您必须在项目中本地安装 gulp 才能使其与 Visual Studio 正常工作。全局安装不起作用。删除全局副本并在本地安装它可以解决问题。

          【讨论】:

            猜你喜欢
            • 2015-09-26
            • 2018-05-05
            • 2017-04-12
            • 2015-11-06
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-03-16
            相关资源
            最近更新 更多