Task Runner Explorer window 在我的 Gulpfile.js 下列出了 "failed to load" 并且列出了 none 个构建过程

Task Runner Explorer window had "failed to load" under my Gulpfile.js and none of the build processes were listed

这是随机发生的,因为我正在更新我的 CSS 文件,然后刷新并注意到没有显示任何更改。我最终注意到 Task Runner Explorer window 在我的 Gulpfile.js 下有 "failed to load" 并且列出了 none 的构建过程。

然后我做了一些研究并重新排序了外部工具列表,因为一些 SO 线程已经提到要做但什么都不做。然后我注意到 gulpfile.js 需要一些文件:

var gulp = require("gulp"),
   gulpless = require("gulp-less"),
   sourcemaps = require("gulp-sourcemaps"),
   rimraf = require("rimraf");

None 其中在 node_modules 文件夹中,所以我完成了 npm install gulp-less 和 npm install gulp-sourcemaps,现在检查了 Output>Task Runner Explorer 并出现以下错误。

Failed to run "C:\projects\Fusion\FusionMVC\Gulpfile.js"...

cmd.exe /c gulp --tasks-simple

C:\projects\Fusion\node_modules\gulp-sourcemaps\node_modules\strip-.bom\index.js:2

module.exports = x => { ^ SyntaxError: Unexpected token > at Module._compile (module.js:439:25) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at Object. (C:\projects\Fusion\node_modules\gulp-sourcemaps\src\init.js:10:14) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12)

关于可能出现的问题以及如何使其正常工作的任何线索或解决方案都很棒!通过大多数 SO 线程,该解决方案不起作用。

经过大量研究,通过 SO 线程和 npm 教程,我终于找到了问题所在。看起来 PATH 变量(不确定它是使用系统级还是用户级)可能不正确。我从来没有接触过它们,但是在将直接路径添加到本地安装的包文件夹并将其放在外部工具位置列表的顶部后,它起作用了。

在担心路径之前需要注意的几件事是:

  • 确保安装了所有正确的 npm 包
  • gulpfile.js 代码正确
  • node.js 和 npm 都是最新的

我的 .net 核心解决方案遇到了同样的问题。

我执行的步骤修复了我的错误并开始吞噬我的 mins/js/styles:

  1. 从[添加或删除程序]
  2. 卸载现有Node.js
  3. https://nodejs.org/en/ 安装一个新的 Node.js [64 位推荐]
  4. 打开 cmd 并检查 npm 是否正常工作
  5. 在 visual stuido 中打开我的解决方案 -> 从视图中打开 node.js 交互式 window -> 其他 windows
  6. 在node.js交互window中输入以下命令

    .npm [ProjectName] install gulp
    

P.S。不要在这里混淆我们不需要写 projectname.csproj 或 d:/repo/projectname.csproj 只需写项目名称,因为它已经在解决方案中。

就这些,解决了我的问题

问题与路径无关,但实际上 gulp 文件本身一定存在语法错误或缺少某些包,不幸的是 visual studio 没有显示具体错误,但您在任务运行程序 "failed to load" 中看到的一般错误。查看错误的正确方法是

  1. 打开命令提示符(最好是管理员模式,我就是这样做的)。
  2. 转到 gulp 文件所在的同一位置。
  3. 运行 通过以下命令示例的任务 --> gulp default
  4. 如果有任何错误,如缺少包,它会告诉你,解决这些问题。
  5. 修复所有错误后,您将看到 gulp 任务成功运行。
  6. 返回 visual studio,任务运行器,然后单击 refersh(左上角按钮),它会显示所有任务。

@SharpCode 的解决方案效果很好,但如果您使用的是 VS2019,它已移至“选项”>“项目和解决方案”>“Web 包管理”>“外部 Web 工具”: