Sass 弃用警告:将null(非字符串值)传递给unquote()

Sass 弃用警告:将null(非字符串值)传递给unquote(),sass,compass,susy,Sass,Compass,Susy,我在运行Sass、Compass和Susy。我已升级到最新版本: bigdecimal (1.2.4) chunky_png (1.3.3) compass (1.0.3) compass-core (1.0.3) compass-import-once (1.0.5) ffi (1.9.6 x86-mingw32) io-console (0.4.2) json (1.8.1) minitest (4.7.5) multi_json (1.10.1) psych (2.0.5) rake (1

我在运行Sass、Compass和Susy。我已升级到最新版本:

bigdecimal (1.2.4)
chunky_png (1.3.3)
compass (1.0.3)
compass-core (1.0.3)
compass-import-once (1.0.5)
ffi (1.9.6 x86-mingw32)
io-console (0.4.2)
json (1.8.1)
minitest (4.7.5)
multi_json (1.10.1)
psych (2.0.5)
rake (10.1.0)
rb-fsevent (0.9.4)
rb-inotify (0.9.5)
rdoc (4.1.0)
sass (3.4.10)
susy (2.2.1)
test-unit (2.1.5.0)
完全弃用警告是:

DEPRECATION WARNING: Passing null, a non-string value, to unquote()
will be an error in future versions of Sass.

我运行了“compass compile--trace”,但它没有添加任何额外的信息。有人知道如何找到问题所在吗。据我所知,可能是指南针或苏西。请告知。

问题似乎出在指南针上。下面是我的调查,使我得出结论。我通过在Sass安装中进行搜索找到了显示此警告的位置(在我的示例中为“C:\Ruby21\lib\ruby\gems\2.1.0\gems\Sass-3.4.10\lib\Sass”)。它是“.\scripts\functions.rb”:

def unquote(字符串)
除非string.is_a?(Sass::Script::Value::string)

Sass::Util.Sass_warn(问题似乎出在Compass上。下面是我的调查,这让我得出了结论。我通过在Sass安装中进行搜索(在我的例子中是“C:\Ruby21\lib\ruby\gems\2.1.0\gems\Sass-3.4.10\lib\Sass”)。它是“.\scripts\functions.rb”:

def unquote(字符串)
除非string.is_a?(Sass::Script::Value::string)

Sass::Util.Sass_warn(问题似乎出在Compass上。下面是我的调查,这让我得出了结论。我通过在Sass安装中进行搜索(在我的例子中是“C:\Ruby21\lib\ruby\gems\2.1.0\gems\Sass-3.4.10\lib\Sass”)。它是“.\scripts\functions.rb”:

def unquote(字符串)
除非string.is_a?(Sass::Script::Value::string)

Sass::Util.Sass_warn(问题似乎出在Compass上。下面是我的调查,这让我得出了结论。我通过在Sass安装中进行搜索(在我的例子中是“C:\Ruby21\lib\ruby\gems\2.1.0\gems\Sass-3.4.10\lib\Sass”)。它是“.\scripts\functions.rb”:

def unquote(字符串)
除非string.is_a?(Sass::Script::Value::string)
Sass::Util.Sass_warn(如中所述,这确实是一个指南针问题,与盒子大小混合有关。您可以在该页面上找到可能的解决方案。我在这里复制它们:

解决方案1(我已经测试过,警告消失):

添加您自己的自定义mixin,它将覆盖Compass mixin:

@mixin box-sizing($value) {
    -moz-box-sizing: $value;
         box-sizing: $value;
}
解决方案2:

@mixin box-sizing($box-model: $default-box-sizing) {
  @if type-of($box-model) == string {
    $box-model: unquote($box-model);
  }
  @include prefixed-properties(css3-boxsizing, $box-sizing-support-threshold, (box-sizing: $box-model));
}
如中所述,这确实是一个指南针问题,与盒子大小混合有关。您可以在该页面上找到可能的解决方案。我在这里复制它们:

解决方案1(我已经测试过,警告消失):

添加您自己的自定义mixin,它将覆盖Compass mixin:

@mixin box-sizing($value) {
    -moz-box-sizing: $value;
         box-sizing: $value;
}
解决方案2:

@mixin box-sizing($box-model: $default-box-sizing) {
  @if type-of($box-model) == string {
    $box-model: unquote($box-model);
  }
  @include prefixed-properties(css3-boxsizing, $box-sizing-support-threshold, (box-sizing: $box-model));
}
如中所述,这确实是一个指南针问题,与盒子大小混合有关。您可以在该页面上找到可能的解决方案。我在这里复制它们:

解决方案1(我已经测试过,警告消失):

添加您自己的自定义mixin,它将覆盖Compass mixin:

@mixin box-sizing($value) {
    -moz-box-sizing: $value;
         box-sizing: $value;
}
解决方案2:

@mixin box-sizing($box-model: $default-box-sizing) {
  @if type-of($box-model) == string {
    $box-model: unquote($box-model);
  }
  @include prefixed-properties(css3-boxsizing, $box-sizing-support-threshold, (box-sizing: $box-model));
}
如中所述,这确实是一个指南针问题,与盒子大小混合有关。您可以在该页面上找到可能的解决方案。我在这里复制它们:

解决方案1(我已经测试过,警告消失):

添加您自己的自定义mixin,它将覆盖Compass mixin:

@mixin box-sizing($value) {
    -moz-box-sizing: $value;
         box-sizing: $value;
}
解决方案2:

@mixin box-sizing($box-model: $default-box-sizing) {
  @if type-of($box-model) == string {
    $box-model: unquote($box-model);
  }
  @include prefixed-properties(css3-boxsizing, $box-sizing-support-threshold, (box-sizing: $box-model));
}

您可以创建unquote的安全版本,因此除非它确实是字符串,否则不会调用它:

@function safe-unquote($param) {
  @return if(type-of($param) == string, unquote($param), $param);
}

您可以创建unquote的安全版本,因此除非它确实是字符串,否则不会调用它:

@function safe-unquote($param) {
  @return if(type-of($param) == string, unquote($param), $param);
}

您可以创建unquote的安全版本,因此除非它确实是字符串,否则不会调用它:

@function safe-unquote($param) {
  @return if(type-of($param) == string, unquote($param), $param);
}

您可以创建unquote的安全版本,因此除非它确实是字符串,否则不会调用它:

@function safe-unquote($param) {
  @return if(type-of($param) == string, unquote($param), $param);
}

在代码中搜索“unquote()”?@DLeh,根据您的建议,我已经在我的Sass文件中搜索了“unquote”字符串,但没有。我相信Compass和Susy使用Sass gem函数,其中一个函数是“unquote”,因此,我需要一个stacktrace或其他东西来查找Compass或Susy的哪些功能我不应该使用。如果问题不在代码中,您应该向警告源所在库的维护人员提交错误报告。请在代码中搜索“unquote()”?@DLeh,按照你的建议,我已经在我的Sass文件中搜索了“unquote”字符串,但是没有。我相信Compass和Susy使用Sass gem函数,其中一个函数是“unquote”,因此,我需要一个stacktrace或其他东西来查找Compass或Susy的哪些功能我不应该使用。如果问题不在代码中,您应该向警告源所在库的维护人员提交错误报告。请在代码中搜索“unquote()”?@DLeh,按照你的建议,我已经在我的Sass文件中搜索了“unquote”字符串,但是没有。我相信Compass和Susy使用Sass gem函数,其中一个函数是“unquote”,因此,我需要一个stacktrace或其他东西来查找Compass或Susy的哪些功能我不应该使用。如果问题不在代码中,您应该向警告源所在库的维护人员提交错误报告。请在代码中搜索“unquote()”?@DLeh,按照你的建议,我已经在我的Sass文件中搜索了“unquote”字符串,但是没有。我相信Compass和Susy使用Sass gem函数,其中一个函数是“unquote”,因此,我需要一个stacktrace或其他东西来查找Compass或Susy的哪些功能我不应该使用。如果问题不在代码中,您应该向警告源所在库的维护人员提交一份错误报告。可能需要显示如何添加“puts caller”在那里,大多数Sass用户对Ruby一无所知。调试得不错。@cimmanon,事实上我一生中从未写过一行Ruby。我在google上搜索过“Ruby stacktrace”。可能想展示一下如何在其中添加“puts caller”,大多数Sass用户不知道