VS2017任务运行器资源管理器未找到任何任务。

21

我正在尝试在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"] );

不过,当我打开任务运行器时,我收到了"(no tasks found)"的消息。

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

我做错了什么?

5个回答

34

显然,您需要在项目中本地安装gulp,才能使其在Visual Studio中正常工作。 全局安装无效。 删除全局副本并在本地安装可以解决问题。


14

我曾面临同样的问题,运行两个命令后解决了这个问题。请参考以下步骤:

1)在Visual-Studio中右键单击您的gulp文件,选择“打开命令行> PowerShell”

enter image description here

2)运行命令npm install gulp来安装gulp。(您必须在项目中安装gulp,无论您是否已全局安装了gulp,但在这种情况下,您必须在项目中安装gulp)

enter image description here

然后按回车键。

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

enter image description here

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

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

enter image description here

接下来,您需要安装缺失的npm插件,只需在powershell中运行以下命令:

npm install并按回车键。

该命令将安装所有缺失的插件,请参考下面的图像:

输入图片描述

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

希望这个解决方案能够帮助到您。


对于那些在菜单中没有“打开命令行”选项的人,可以下载“Open Command Line”扩展(VS 2017-2019VS 2022),或者只需右键单击gulpfile.js所在的目录并选择“在终端中打开”。 - Jacob Stamm

5

您需要安装所有必要的依赖项 - 在新安装上,我的 VS 任务运行器没有任何错误提示 - 我已经本地安装了 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和任务运行器在上周都正常工作,而唯一的更改是本地安装了一些不相关的节点模块。


0
在我的情况下,我已经安装了gulp(在此之前,Task Runner Explorer在Gulpfile.js下显示“无法加载”的消息)。

enter image description here

可是我还是像这样收到了“未找到任务”的提示

enter image description here

此外,Visual Studio 已经告诉我,在我要求将我的 bundleconfig.json 转换为 gulp 时,它已经安装了所有必需的节点包。但尽管如此,gulp 仍然不太满意(并且我的 Web 应用程序根目录下的 node_modules 目录非常空)。
再次运行 "npm install gulp",我在命令行中注意到了这个问题。

enter image description here

我认为这可能是一个写入权限问题,因为 package.json 在我的项目的源代码控制下。我检查了一下,重新运行了 "npm install gulp",以及类似的与 gulp-concat 相关的包,现在我的 node_modules 目录非常完整,但... gulpfile.js 能工作吗?不行,但我现在有一个不同的错误,所以我很确定我现在正在处理不同的问题 :-/

enter image description here

TL;DR:如果你正在使用源代码控制,请确保在安装 Node 包之前检查你的 package.json 文件。

0
在我的情况下,我也遇到了同样的问题。我安装了所有的要求,但是gulp在任务运行器中仍然无法工作,并且没有找到任何任务。我通过取消选中$(VSInstalledExternalTools)来解决了这个问题。
工具 > 选项 > 项目和解决方案 > Web包管理 > 外部Web工具

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接