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

时间:2012-08-02 20:53:16

标签: css variables compilation less npm

我有一个.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以便定义了变量(并且变量未注释的行),我再次收到编译时错误。有什么我想念的吗?

3 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:2)

我发现了答案。我尝试只编译一个文件(而不是.less文件套件)。 NPM表明,在使用其中一个Mixins时遇到了问题。在导入正确的文件后,该套件现在可以正常编译。

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

答案 2 :(得分:0)

当我这样工作时,我也得到这些错误,但实际编译的css工作得很好。我在开发时编译得很少,只把css放在运行时,因为我不希望样式依赖于javascript ...