Gulp VS2017任务运行程序浏览器未找到任务

fhg3lkii  于 2022-12-08  发布在  Gulp
关注(0)|答案(5)|浏览(206)

我尝试在VS 2017中的一个MVC核心项目中设置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"] );

但当我打开任务运行程序资源管理器时,我得到消息“(未找到任务)"。
我已经检查了所有的gulp包都是通过npm安装的,我还添加了一个package.json文件,但是仍然没有找到任务。
我做错了什么?

3z6pesqy

3z6pesqy1#

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

dbf7pr2w

dbf7pr2w2#

我也遇到过同样的问题,运行两个命令后修复了这个问题。请参考下面的过程:
1)在visual-studio中右击gulp文件,然后选择“打开命令行〉PowerShell”

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

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

按下刷新按钮后,您将在任务运行器下看到所有任务列表。
如果您在输出窗口中发现与“缺少模块”相关的任何错误,如下所示:

然后你必须安装缺少的npm插件,为此只需运行以下命令(进入powershell):npm install并按回车键。此命令将安装所有缺少的插件,请参阅下图:
x1c4d 1x文件系统
然后再次按下任务运行器资源管理器中的刷新按钮,你会在任务运行器窗口下看到你所有的吞咽任务列表。
希望这个解决方案会有所帮助。

nszi6y05

nszi6y053#

您还需要安装所有依赖项-我的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和任务运行器上周工作正常,唯一的变化是在本地安装了一些不相关的节点模块。

f2uvfpb9

f2uvfpb94#

在我的例子中,我已经安装了gulp(在此之前,Task Runner Explorer在Gulpfile.js下显示“加载失败”,如下所示)

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

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

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

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

798qvoo8

798qvoo85#

在我的例子中,我也有同样的问题。我安装了所有的需求,但是gulp仍然不能在任务运行器资源管理器上工作,没有发现任何任务。我通过取消选中$(VSInstalledExternalTools)来解决这个问题。
工具〉选项〉项目和解决方案〉Web包管理〉外部Web工具

相关问题