2012-08-02 66 views
4

我有一个.less文件,其中包含一些使用另一个文件中定义的变量的定义。。使用来自其他文件的变量时无法编译的文件

实施例:

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

最初,显示的IntelliJ变量为未定义。当我与Lessc编译我得到的是读出这样的错误:

TypeError: Cannot call method 'charAt' of undefined at getLocation (C:\PATH\npm\node_modules\less\lib\less\parser.js:212:34) at new 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) at C:\PATH\npm\node_modules\less\bin\lessc:107:28 at C:\PATH\npm\node_modules\less\lib\less\parser.js:434:40 at C:\PATH\npm\node_modules\less\lib\less\parser.js:94:48 at C:\PATH\npm\node_modules\less\lib\less\index.js:116:17 at C:\PATH\npm\node_modules\less\lib\less\parser.js:434:40 at C:\PATH\npm\node_modules\less\lib\less\parser.js:94:48 at C:\PATH\npm\node_modules\less\lib\less\index.js:116:17

做我确定,这意味着有一个错误的地方在我的代码中的一些阅读后。我自然认为这是由于变量定义不起作用。我评论了变量出来的行,lessc会编译我的项目。

但是,即使在我添加了相应的@import以便定义了变量(以及变量未注释的行)之后,我又收到了编译时错误。有什么我失踪?

回答

4

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

0

我得到这些错误以及当我这样工作,但实际编译的CSS工作得很好。我编译我的开发更少,只把CSS放在运行时,虽然,因为我不希望样式取决于JavaScript ...

+0

问题是,我在编译期间得到了一个堆栈跟踪,所以没有编译CSS出现。 – MrShmee 2012-08-02 21:51:49

+0

我使用Mac上的lesccs和windows上的winless作为编译器工作,没有使用npm的经验。害怕我不能帮你进一步... – Pevara 2012-08-02 22:04:44

+0

我想我设法绊倒了一个结果。无论如何,谢谢你。 – MrShmee 2012-08-02 22:07:37

2

我发现了答案。我试着编译一个文件(而不是.less文件)。 NPM表明它正在遇到一个Mixin使用的问题。在@输入正确的文件后,套件现在编译好了。

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

+0

从头开始,还没有工作。 – MrShmee 2012-08-02 22:44:38