较少编译错误:无法调用null的方法'charAt'

时间:2012-11-26 02:42:44

标签: css compilation less

我收到一个奇怪的LESS编译错误,其中的消息如下:

  

non_object_property_callError:无法调用null的方法'charAt'   / Volumes / Windows / Program Files   (86)/Ampps/www/custom-site/templates/custom-template/less/style.less:null:-1   1 @import“icomoon / icomoon.less”;

导致错误的代码如下:

@import "imports/variables.less";
@import "icomoon/icomoon.less";

@import "mixins.less";

我尝试编译这两个文件,一切顺利。所以这告诉我,错误在于LESS能够准确报告错误来源。在nodejs编译器上测试时,返回相同的错误。对其他所有编译器进行测试仍会出现此错误...

为了尝试找到错误的来源,我自然会在导入调用后将style.less文件中的剩余代码注释掉,但错误仍然存​​在。这里的问题是我不知道错误在哪里,尽管我怀疑它是在调用导入之后的某个地方。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

说" less不能报告确切的问题"实际上只有真相。

究竟发生了更少的编译器无法编译较少的代码,因为它存在问题,因此编译器触发其错误处理以显示错误的位置。但是,这样做会发生异常。因此,您只看到相同的异常,这通常是由较少编译器中的错误引起的。

有关详细说明,请参阅解决问题的拉取请求(https://github.com/cloudhead/less.js/pull/703)。

那么,这里有哪些选择:

  • 如果您无法切换到较新的版本,请继续尝试通过注释掉较少代码的部分内容来查找问题。我知道,这根本不好玩。我也不得不忍受这一段时间......
  • 如果你可以升级到较新版本的lessc,试试这个,你得到了很好的错误处理,如下面的例子所示。

less编译器的错误示例:

$ lessc style.less > style.css
NameError: variable @bla is undefined in assets/less/included.less:3:20
2   background: url(../img/wall-texture.png);
3   background-color: @bla;
4 }