我收到一个奇怪的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文件中的剩余代码注释掉,但错误仍然存在。这里的问题是我不知道错误在哪里,尽管我怀疑它是在调用导入之后的某个地方。
任何帮助都将不胜感激。
答案 0 :(得分:1)
说" less不能报告确切的问题"实际上只有真相。
究竟发生了更少的编译器无法编译较少的代码,因为它存在问题,因此编译器触发其错误处理以显示错误的位置。但是,这样做会发生异常。因此,您只看到相同的异常,这通常是由较少编译器中的错误引起的。
有关详细说明,请参阅解决问题的拉取请求(https://github.com/cloudhead/less.js/pull/703)。
那么,这里有哪些选择:
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 }