我有一个.less文件,其中包含一些使用另一个文件中定义的变量的定义。
示例:
body {
font-family: @baseFontFamily;
font-size: @baseFontSize;
color: @textColor;
}
最初,IntelliJ将变量显示为未定义。当我用Lessc编译时,我会得到一个错误,如下所示:
TypeError:无法调用未定义的方法'charAt' at getLocation(C:\ PATH \ npm \ node_modules \ less \ lib \ less \ parser.js:212:34) 在新的LessError(C:\ PATH \ npm \ node_modules \ less \ lib \ less \ parser.js:221:19) at Object.toCSS(C:\ PATH \ npm \ node_modules \ less \ lib \ less \ parser.js:385:31) 在C:\ PATH \ npm \ node_modules \ less \ bin \ lessc:107:28 在C:\ PATH \ npm \ node_modules \ less \ lib \ less \ parser.js:434:40 在C:\ PATH \ npm \ node_modules \ less \ lib \ less \ parser.js:94:48 在C:\ PATH \ npm \ node_modules \ less \ lib \ less \ index.js:116:17 在C:\ PATH \ npm \ node_modules \ less \ lib \ less \ parser.js:434:40 在C:\ PATH \ npm \ node_modules \ less \ lib \ less \ parser.js:94:48 在C:\ PATH \ npm \ node_modules \ less \ lib \ less \ index.js:116:17
在做了一点阅读之后,我确定这意味着我的代码中某处出现了错误。我自然认为这是由于变量定义不起作用。我用变量注释了这些行,而lessc会很好地编译我的项目。
然而,即使我添加了适当的@import以便定义了变量(并且变量未注释的行),我再次收到编译时错误。有什么我想念的吗?
答案 0 :(得分:4)
发现问题。有' config.less'父文件夹和子文件夹中的文件。将config.less的内容从子项移动到父版本解决了我遇到的问题。
答案 1 :(得分:2)
我发现了答案。我尝试只编译一个文件(而不是.less文件套件)。 NPM表明,在使用其中一个Mixins时遇到了问题。在导入正确的文件后,该套件现在可以正常编译。
以下是教训: - 如果您的某个.less文件出现问题,请尝试自行编译。 NPM将为您提供有关错误的更多详细信息,而不仅仅是一般的堆栈跟踪。
答案 2 :(得分:0)
当我这样工作时,我也得到这些错误,但实际编译的css工作得很好。我在开发时编译得很少,只把css放在运行时,因为我不希望样式依赖于javascript ...