11

这在我更新 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: 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) 在 Function.Module._load (module.js:312:12) 在 Module.require (module.js:364:17) 在 require (module.js:380:17) 在 Object. (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 线程,但该解决方案不起作用。

4

4 回答 4

20

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

外部工具的位置 - 选项对话框

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

  • 确保安装了所有正确的 npm 包
  • gulpfile.js 代码是正确的
  • node.js 和 npm 都是最新的
于 2016-10-18T03:01:53.840 回答
3

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

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

在此处输入图像描述

于 2020-01-10T08:39:49.000 回答
2

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

在此处输入图像描述

于 2020-12-18T15:48:08.800 回答
1

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

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

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

    .npm [ProjectName] install gulp
    

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

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

于 2019-07-12T00:35:22.043 回答