4

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

例子:

body {
    font-family: @baseFontFamily;
    font-size: @baseFontSize;
    color: @textColor;
}

最初,IntelliJ 将变量显示为未定义。当我用 Lessc 编译时,我会得到一个错误,如下所示:

TypeError:无法在新的 LessError (C:\PATH\npm\node_modules\less) 处调用未定义的方法 'charAt' \lib\less\parser.js:221:19) 在 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 以便定义变量(以及未注释变量的行)之后,我再次收到编译时错误。有什么我想念的吗?

4

3 回答 3

4

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

于 2012-08-07T19:49:56.467 回答
2

我发现了答案。我尝试只编译一个文件(而不是 .less 文件套件)。NPM 表明它在定位所使用的 Mixin 之一时遇到了问题。在 @import-ing 正确的文件后,该套件现在可以正常编译。

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

于 2012-08-02T22:10:23.827 回答
0

当我这样工作时,我也会遇到这些错误,但实际编译的 css 工作得很好。我确实在开发中编译了我的less,并且只将css放在运行时,因为我不希望样式依赖于javascript......

于 2012-08-02T21:17:25.267 回答