【问题标题】:Task Runner Explorer window had "failed to load" under my Gulpfile.js and none of the build processes were listedTask Runner Explorer 窗口在我的 Gulpfile.js 下“加载失败”,并且没有列出任何构建过程
【发布时间】:2016-10-16 23:09:46
【问题描述】:

这在我更新 CSS 文件时随机发生,然后刷新发现没有显示任何更改。我最终注意到我的 Gulpfile.js 下的 Task Runner Explorer 窗口“加载失败”,并且没有列出任何构建过程。

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

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

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

运行“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:意外的令牌> 在 Module._compile (module.js:439:25) 在 Object.Module._extensions..js (module.js:474:10) 在 Module.load (module.js:356:32) 在 Function.Module._load (module.js:312:12) 在 Module.require (module.js:364:17) 在需要 (module.js:380:17) 在对象。 (C:\projects\Fusion\node_modules\gulp-sourcemaps\src\init.js:10:14) 在 Module._compile (module.js:456:26) 在 Object.Module._extensions..js (module.js:474:10) 在 Module.load (module.js:356:32) 在 Function.Module._load (module.js:312:12)

任何关于可能出现问题以及如何使其工作的线索或解决方案都会很棒!经历了大部分 SO 线程,但该解决方案不起作用。

【问题讨论】:

  • 我今天也遇到了这个问题...
  • @McHat 检查下面的答案可能会对您有所帮助:)

标签: node.js visual-studio gulp load gulp-sourcemaps


【解决方案1】:

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

在担心路径之前需要寻找的一些事情是:

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

【讨论】:

  • 我发现我在 Visual Studio 中发现的默认条目“.\node_modules\.bin”假定您的 gulpfile.js 与本地 npm 包共享相同的根目录( package.json 文件的相同位置)。我将 package.json 提高了一级,认为我希望我的 node_modules 位于我的 NuGet 包文件夹旁边。
  • 感谢为我们工作:)
  • 在 VS2019 中,External Web Tools 的位置现在是 Tools > Options > Projects and Solutions > Web Package Management > External Web Tools
【解决方案2】:

问题与路径无关,但实际上 gulp 文件本身肯定存在一些问题,要么是语法错误,要么是缺少某些包,不幸的是,Visual Studio 没有显示特定错误,而是您在任务运行器中看到的一般错误“加载失败”。查看错误的正确方法是

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

【讨论】:

【解决方案3】:

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

【讨论】:

    【解决方案4】:

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

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

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

      .npm [ProjectName] install gulp
      

    附:不要在这里混淆,我们不需要写 projectname.csproj 或 d:/repo/projectname.csproj 只需将 projectname 写为它已经在解决方案中。

    就是这样,它解决了我的问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-26
      • 1970-01-01
      • 2015-04-07
      • 2018-03-16
      • 2018-01-11
      • 2017-08-31
      • 1970-01-01
      相关资源
      最近更新 更多