Visual Studio Express 2013 Web Essentials 中的 SCSS 编译错误
Posted
技术标签:
【中文标题】Visual Studio Express 2013 Web Essentials 中的 SCSS 编译错误【英文标题】:SCSS compile error in Visual Studio Express 2013 Web Essentials 【发布时间】:2014-08-21 06:55:42 【问题描述】:我正在尝试让 Sass 使用 Web Essentials 在 Visual Studio Express 2013 for Web 中工作。当我包含最基本的 scss 文件时,出现编译错误。这是我的示例文件:
$font-stack: Helvetica, sans-serif;
$primary-color: #333;
body
font: 100% $font-stack;
color: $primary-color;
我得到的错误是: 发生编译错误(请参阅错误列表以导航到错误位置): 发现错误:
但是,Visual Studio 的错误列表中的错误是空白的,仅显示第 1 行第 1 列,没有更多信息。我在 scss 文件中的内容也无关紧要,即使只有带有左括号和右括号的 body 标记也会出现相同的错误。
VS 版本是:12.0.30501.00 with Web Essentials 2.2
任何帮助将不胜感激。谢谢!
【问题讨论】:
【参考方案1】:Sass + Web Essentials 不允许重命名文件,它们开始抛出编译错误。请检查您没有重命名它。或者您可以复制文件的内容,将其删除并使用旧内容创建新文件。一切都会好起来的。
其他原因可能是您签入源代码后的文件处于只读状态,并且 Saas 编译器无法自动将其签出,因此您需要使用 *.scss 从文件夹中取消选中只读标志 - 或者只是签出以进行编辑来自 TFS。
今天我找到了另一个原因——sass 缓存。可以从这里删除 - C:\Users\%Username%\AppData\Local\Temp\
【讨论】:
这对我有帮助。我将现有的 css 文件重命名为 SCSS,这引发了错误。现在我创建了一个新的 SCSS 文件,保持 css 不变,一切正常,并且替换了现有的 css。【参考方案2】:在我的情况下,这是由于包含的 .scss
文件本身试图包含另一个 .scss
文件,该文件在目录层次结构中太深,node-sass
无法处理。我通过调试 Web Essentials 并劫持对 node-sass
的调用来隔离导致问题的文件,以查看真正的错误输出:
D:\Path\Assets\Areas\Area\/Section/section.scss:1: error: file to import not found or unreadable: '../../../Shared/Mixins/buttons.scss'
根据我最终偶然发现的this issue,将./
添加到第二个包含文件的路径解决了我的问题。例如:
@include './../../../Shared/Mixins/buttons.scss';
【讨论】:
以上是关于Visual Studio Express 2013 Web Essentials 中的 SCSS 编译错误的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio 2012 上的计算机错误中缺少 GDAL201.dll
Visual Studio 高级程序在 Visual Studio Express 中打开?
Visual Studio 和 Visual Studio Express 有啥区别?
Visual Studio Express 2013 和 Visual Studio 2013 之间的区别
Visual Studio Express 2013 或 Visual Studio Pro 2010
Visual Studio Express 2012 无法添加到 Visual Studio Team Services 的连接