Css 使用其他文件中的变量时.less文件无法编译

Css 使用其他文件中的变量时.less文件无法编译,css,variables,compilation,less,npm,Css,Variables,Compilation,Less,Npm,我有一个.less文件,其中包含一些使用另一个文件中定义的变量的定义 例如: body { font-family: @baseFontFamily; font-size: @baseFontSize; color: @textColor; } 最初,IntelliJ将变量显示为未定义。当我使用LESC编译时,我会得到一个错误,如下所示: TypeError:无法调用未定义的方法“charAt” 在getLocation(C:\PATH\npm\node\u modul

我有一个.less文件,其中包含一些使用另一个文件中定义的变量的定义

例如:

body {
    font-family: @baseFontFamily;
    font-size: @baseFontSize;
    color: @textColor;
}
最初,IntelliJ将变量显示为未定义。当我使用LESC编译时,我会得到一个错误,如下所示:

TypeError:无法调用未定义的方法“charAt” 在getLocation(C:\PATH\npm\node\u modules\less\lib\less\parser.js:212:34) 在新的LessError(C:\PATH\npm\node\u modules\less\lib\less\parser.js:221:19) 在Object.tocs(C:\PATH\npm\node\u modules\less\lib\less\parser.js:385:31) 在C:\PATH\npm\node\u modules\less\bin\lessc:107:28 在C:\PATH\npm\node\u modules\less\lib\less\parser.js:434:40 在C:\PATH\npm\node\u modules\less\lib\less\parser.js:94:48 在C:\PATH\npm\node\u modules\less\lib\less\index.js:116:17 在C:\PATH\npm\node\u modules\less\lib\less\parser.js:434:40 在C:\PATH\npm\node\u modules\less\lib\less\parser.js:94:48 在C:\PATH\npm\node\u modules\less\lib\less\index.js:116:17

在读了一点之后,我确定这意味着我的代码中有一个错误。我自然认为这是因为变量定义不起作用。我注释了带有变量的行,LESC会很好地编译我的项目


然而,即使在我添加了适当的@import以便定义变量(以及未注释变量的行)之后,我仍然收到了编译时错误。有什么我遗漏的吗

当我这样工作时,也会出现这些错误,但是实际编译的css工作得很好。我确实在开发时编译了我的less,但只在运行时使用css,因为我不希望样式依赖于javascript…

我发现了答案。我试着只编译一个文件(而不是一套.less文件)。NPM显示,它在定位所使用的一种混合器时遇到了问题。在@import编译正确的文件后,套件现在可以正常编译

以下是教训:
-如果某个.less文件有问题,请尝试自行编译。NPM将为您提供有关错误的更多详细信息,而不仅仅是一般堆栈跟踪

发现问题。父文件夹和子文件夹中存在“config.less”文件。将config.less的内容从子版本移动到父版本解决了我遇到的问题。

问题是,我在编译过程中得到了堆栈跟踪,因此没有编译的CSS出现。我在mac上使用lesccs,在windows上使用winless作为编译器,没有使用npm的经验。恐怕我再也帮不了你了……我想我是偶然发现了一个结果。无论如何谢谢你。