我尝试在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文件,但是仍然没有找到任务。
我做错了什么?
5条答案
按热度按时间3z6pesqy1#
显然,您必须在项目中本地安装gulp,它才能在Visual Studio中正常工作。全局安装不起作用。删除全局副本并在本地安装解决了这个问题。
dbf7pr2w2#
我也遇到过同样的问题,运行两个命令后修复了这个问题。请参考下面的过程:
1)在visual-studio中右击gulp文件,然后选择“打开命令行〉PowerShell”
2)运行命令
npm install gulp
以安装gulp。(无论是否已经全局安装了gulp,都必须在项目中安装gulp,但在这种情况下,必须在项目中安装gulp)然后按Enter键。
3)执行命令后,转到Visual-Studio中的任务运行器资源管理器,然后按刷新按钮。
按下刷新按钮后,您将在任务运行器下看到所有任务列表。
如果您在输出窗口中发现与“缺少模块”相关的任何错误,如下所示:
然后你必须安装缺少的npm插件,为此只需运行以下命令(进入powershell):
npm install
并按回车键。此命令将安装所有缺少的插件,请参阅下图:x1c4d 1x文件系统
然后再次按下任务运行器资源管理器中的刷新按钮,你会在任务运行器窗口下看到你所有的吞咽任务列表。
希望这个解决方案会有所帮助。
nszi6y053#
您还需要安装所有依赖项-我的VS Task Runner在新安装时失败,没有任何错误消息-我已经在本地安装了gulp,但我的gulpfile.js显示了以下所需的模块:
其中一个不见了所以我跑了
任务运行器显示了我的任务--其中一个模块没有正确加载。奇怪的行为是因为gulpfile.js和任务运行器上周工作正常,唯一的变化是在本地安装了一些不相关的节点模块。
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 。
798qvoo85#
在我的例子中,我也有同样的问题。我安装了所有的需求,但是gulp仍然不能在任务运行器资源管理器上工作,没有发现任何任务。我通过取消选中$(VSInstalledExternalTools)来解决这个问题。
工具〉选项〉项目和解决方案〉Web包管理〉外部Web工具