【问题标题】:Sass failing to compile - Web Essentials 2013 Update 4Sass 无法编译 - Web Essentials 2013 更新 4
【发布时间】:2015-01-28 11:17:45
【问题描述】:

我目前正在使用 Web Essentials 2013 更新 4 来支持在 Visual Studio 中编译 .scss 文件。

该工具过去对我来说工作得很好,但是我刚刚创建了一个新的 .scss 文件并将引导程序未缩小的 css 复制到这个新文件中。

保存后,屏幕右侧的编译窗口无法更新或显示编译后的 css 或任何错误消息。同时,我的 Visual Studio 屏幕底部的蓝条卡在

为 bootstrap.scss 编译 0 个依赖文件

通常我希望由此生成一个 bootstrap.css 文件以及一个 bootstrap.min.css 文件,但这并没有发生。

有人知道如何将其恢复到正常工作条件吗?

【问题讨论】:

标签: visual-studio visual-studio-2013 sass web-essentials


【解决方案1】:

这与我在 WebEssentials-Settings.json 文件中的设置有关。在版本 3 中,需要将“UseRubyRuntime”参数标记为 true 以允许其自动编译到相关文件中。从版本 4 开始,这可以标记为 false,因为 WE 现在有一个内置编译器,我认为它可能与我尝试使用的 RubyRuntime 版本冲突。

【讨论】:

  • 将 UseRubyRuntime 设置为“true”似乎已经解决了这个问题,它使用 Ruby Sass 而不是 Libsass。我想知道 Libsass 版本的根本问题是什么。
  • 谢谢@jezzpin 的回答
【解决方案2】:

我遇到了类似的问题,在安装 Web Essentials 2013 Update 4 后,.scss 文件开始在输出中抛出类似这样的错误:

Something went wrong reaching: ... 
SCSS: Site.scss compilation failed: The service failed to respond to this request
Possible cause: Syntax Error!

对我来说唯一的解决方案是:

  1. 卸载 Web Essentials
  2. 删除 %AppData%\Local\Microsoft\VisualStudio\12.0
  3. 删除 %AppData%\Roaming\Microsoft\VisualStudio\12.0
  4. 修复VS 2013.4
  5. 重新安装 Web Essentials

来源:https://visualstudiogallery.msdn.microsoft.com/56633663-6799-41d7-9df7-0f2a504ca361/view/Discussions/1#15143

请注意:如果您导入其他 .scss 文件,请确保它们位于正确的位置。当我通过 NuGet 更新 Twitter.Bootstrap.Sass 3.3.3 时,相关的 .scss 文件被移动到不同的文件夹,我不得不更新引用。例如:

之前:

@import "../sass/bootstrap/_utilities.scss";

之后:

@import "../stylesheets/bootstrap/_utilities.scss";

【讨论】:

  • 我开始做这个,发现nodejs.exe挂了。原来编译我的 sass 时出现了一个问题,它挂了。重启机器可能会修复它。或者手动停止进程。
  • 简单地结束 nodejs.exe 进程对我有用,以防其他人遇到这种情况。
【解决方案3】:

我遇到了同样的问题,并花了一些时间卸载并重新安装 Web Essentials。我尝试删除 AppData 中似乎与 Web Essential 相关的部分,但在编译 scss 文件时均未成功。

所以我创建了一个内容最少的新 .scss,并进行了编译。然后我开始复制失败的部分。复制了几份后,新的也失败了。我能够将失败归零。 这是由这一行引起的:

$highlightcolor: #67a0f;

你看到问题了吗?十六进制颜色代码缺少一个数字。它应该是67a0f5。修复此问题解决了原始文件的问题。

我查看了文件寻找语法错误,但没有发现短颜色定义。

我希望这可以节省一些时间和挫败感。

【讨论】:

  • 虽然任何数量的解析错误都可能导致“我的东西无法编译”,但这并不能真正回答问题。
【解决方案4】:

我遇到了同样的问题;为了帮助诊断它,我创建了一个带有虚拟 CSS 规则的最小 .scss 文件 - 它产生了相同的错误。

然后,我查看了经过长时间测试且完全正常工作的旧版 .scss 文件 - 它产生了相同的错误。这里有问题,我想。

在解决了一段时间后,通过关闭 Visual Studio,重新加载并重新打开解决方案以某种方式解决了这个问题。

【讨论】:

  • 当我因为 SCSS 文件上的“node 无法识别...”消息而无法编译时,关闭/重新打开 VS 帮助了我。
【解决方案5】:

从 2.5 开始引用更改日志以获取 Web Essentials 的更新 4:

  • 删除了所有基于 node.js 的工具 ◦Sass/LESS 编译器 JSHint/JSCS
    linters CSS AutoPrefixer Handlebars 编译器 SweetJS/LiveScript
    编译器

http://vswebessentials.com/changelog

所以我的理解是,它不再编译。

【讨论】:

【解决方案6】:

我遇到了同样的问题,并且已经消除了实际的语法错误和不正确的路径引用。我发现了两件事。

  1. 当有一个文件只指定变量和 没有实际的 scss 或 css 标记。这更像是一个黑客,因为你 可能必须将不需要的 css 放入变量文件中。
  2. 关闭 Autoprefixer 将彻底解决问题,但代价是不使用此功能。

【讨论】:

    【解决方案7】:

    我遇到了这个问题,确定我在运行 Compile All SASS Files 时,插件试图编译在项目的 /obj 目录中找到的文件失败,从而导致后续编译失败。删除 /obj 目录并重新启动 VS 解决了这个问题。

    【讨论】:

      【解决方案8】:

      我有一个类似的问题,结果是在声明之前对 SASS 变量的引用。没有警告或错误。一旦我将引用移动到正确的位置,一切正常。

      【讨论】:

        【解决方案9】:

        偏离其他人对 Web Essentials 的看法。查看change log,它指出对于versions 2013 update 4 及更高版本(也意味着2015 版),

        重要!捆绑、缩小和编译 LESS、Sass 和 CoffeeScript 不再是 Web Essentials 2015 的一部分。安装 新的扩展 Bundler & Minifier 和 Web Compiler 代替。另见 这个可能是其他 Web 开发扩展的列表 你感兴趣。

        我为 Visual Studio 找到了这个简洁的小扩展,它在保存时将 SCSS 文件编译为 CSS 文件(以及该文件的缩小)。

        你可以得到它here。 创建此扩展程序的人也谈到了 Web Essential 问题,发现 here

        【讨论】:

        • 我也看到了这个通知,但它具有误导性 - Web Essentials 2013.4 和 2013.5 中仍然存在 Less/Sass/Scss 编译。 i.imgur.com/jy5Z3Uc.png
        猜你喜欢
        • 1970-01-01
        • 2015-02-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-17
        • 1970-01-01
        • 2014-08-21
        • 1970-01-01
        相关资源
        最近更新 更多