在我的LESS项目中,我遇到的问题是让我的看守mixins处理我在另一个文件中声明的变量。这是我正在使用的代码:
_defaults.less (包含我的所有变量)
//------------------------------------//
// @INCLUDE
//------------------------------------//
// Set whatever components you want included
// in your project to `true` and any components
// you do not wish to be included to `false`
// Base
@use-main: true;
_main.less (在我的项目中只是一个随机的部分)
.main(@boolean) when (@boolean = true) {
// Styles go here
}
// Execute mixin
.main(@use-main);
style.less (导入我所有的部分内容)
//------------------------------------//
// @IMPORTS
//------------------------------------//
// Base styles
@import "base/_main.less";
这就是我的项目的结构(大约20个部分,然后导入style.less
文件)。
每当我尝试编译项目时,都会收到此错误:
无法识别的输入
c:\ Users \ Keenan \ Documents \ GitHub \ concise.css-less \ less \ base_main.less line 1
C:\用户\基南\文件\ GitHub的\ concise.css少\少\ concise.less
答案 0 :(得分:3)
您粘贴的代码是正确的。实际上,您会被lessc
错误消息误导。它指的是@main
块。您遇到的问题似乎与您的项目Concise.css-less有关,更确切地说与this line有关。
@if @global-border-box == true {
// [...]
}
这不是if语句的正确语法。看问题: How to use if statements in LESS
您似乎正在将项目从手写笔转换为更少。我建议切割大块无法导入的文件,通过二分法找出较少无法识别的行。或者,您可以评论此处使用的顶级mixins警卫以包含此css或该部分css,并且对于错误报告而言则较少混淆。
例如,如果您评论文件_lists.less的第一行和最后一行:
//.lists(@boolean) when (@boolean = true) {
[...]
//.lists(@use-lists);
lessc
会在正确的行附近报告错误(实际上它在第111行>它不喜欢):
ParseError: Unrecognised input in concise.css-less/less/base/_lists.less on line 109, column 9:
108 .breakpoint(small) {
109 dl.dl-horizontal {
110 overflow: hidden;