2

在 Visual Studio 2017 中,为了尝试SASS使用 Gulp 将编译添加到使用netcore2教程的项目中,我遇到了 Task Runner Explorer 的问题。在我要添加 gulp 的项目中,Task Runner 不显示任何任务。

在此处输入图像描述

如果我尝试将 a 添加Gulpfile.js到另一个较旧或新创建的 netcore 2 项目,我可以从 中看到一些任务bundleconfig.json以及Gulpfile.js. 在此处输入图像描述

在所有这些项目中,我都有一个相同的项目gulpfile.js,如下所示:

/*
This file is the main entry point for defining Gulp tasks and using Gulp plugins.
Click here to learn more. https://go.microsoft.com/fwlink/?LinkId=518007
*/
var gulp = require('gulp');
var sass = require('gulp-sass');

var paths = {
    webroot: "./wwwroot/",
    sass: "./wwwroot/scss/",
    css: "./wwwroot/css/"
};

gulp.task('scss', function ()
{
    return gulp.src(paths.sass + '/**/*.scss')
        .pipe(sass().on('error', sass.logError))
        .pipe(gulp.dest(paths.webroot + 'css/'));
});

gulp.task('watch', function ()
{
    gulp.watch(paths.sass + '**/*.scss', ["scss"]);
});

我可以使用 PowerShell 命令行运行 gulp 作业,它们会正确编译 my scss,这意味着它gulpfile.js是有效的。

根据我尝试的其他 Stack Overflow 问题/答案:

关于没有 a 的行,src我找不到说要尝试此特定修复的线程,但我确实尝试过。

以上都没有解决它。有没有人遇到这个问题并以上述方式以外的其他方式修复它?有谁知道为什么会发生这种情况以及我做错了什么?

4

3 回答 3

2

我设法让它工作。我不确切知道哪一步解决了我的问题,但我按以下顺序完成了所有操作:

  1. 在本地和全球范围内删除 gulp
  2. 删除Bundler & Minifiervs 扩展
  3. 删除npm task runnervs 扩展
  4. 重新启动 VS 2017(确保它考虑到扩展的删除
  5. 在具有唯一名称的解决方案的根目录中创建一个新的 netcore 2.0 应用程序(我的几个项目具有相同的名称,在不同的文件夹中)
  6. 将旧项目中的所有文件复制/粘贴到新项目中
  7. 重启VS 2017
  8. 右键单击bundleconfig.json--> Bundler & minifier--> Convert to Gulp。这将安装 gulp 并gulpfile.js在项目的根目录生成一个。
  9. 添加所需的 Gulp 任务
  10. 右键单击gulpfile.js-->Task runner explorer
  11. 完毕
于 2017-11-27T11:05:16.400 回答
2

对我来说,修复是在本地运行 Gulp。

我尝试在全球范围内运行它,但没有奏效。

于 2018-07-30T23:36:16.083 回答
2

@mathieu-viales的回答启发了我做以下同样有效的事情:

  1. 从解决方案中删除受影响的项目,保存并关闭。
  2. 重新打开解决方案,将项目重新添加到解决方案中。
  3. 完成!Gulp 任务现在出现在 VS Test Runner 资源管理器中。
于 2021-04-19T11:46:07.607 回答