Less.js: ParseError:无法识别的输入为«DIV {width:500px \ 9}»

创建于 2014-09-26  ·  13评论  ·  资料来源: less/less.js

使用以下命令解析成功:

DIV {
    width: 500px\9;
}

ParseError:无法识别的输入:

DIV { width: 500px\9 }

您可以在https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css中找到此语法

bug medium priority

最有用的评论

https://github.com/less/less.js/issues/1538对我来说是一个问题,同时导入bootstrap4 css作为较少的参考(bootstrap4的dist也越来越少)。

<strong i="7">@import</strong> (less, reference) "~bootstrap/dist/css/bootstrap.css";
 @ /node_modules/bootstrap/dist/css/bootstrap.css (line 4475, column 31)
 near lines:

   <strong i="10">@media</strong> screen and (min-width: 0\0) {
     .progress {

这真的像是个错误,什么时候可以得到修复@ seven-phases-max @lukeapage的任何估计? 谢谢!

所有13条评论

是的,在#284中提到过。 但是我认为这应该被认为是一个错误,因为
500px\9实际上是一个有效的CSS语法,只是一个无效的值(对于“标准”浏览器,它等于500px?因此他们只是忽略了它),因此从技术上讲,Less应该通过它。

@harobed您还应该在bootstrap中导入源,而不是在输出CSS中导入

@lukeapage有一些原因可能导致您要导入已编译的Bootstrap文件,而不是其Less源。 尤其是目前,这是获取用名称空间/前缀包装的引导程序类的唯一方法(例如.bs {<strong i="6">@import</strong> (less) 'bootstrap.css';}或扩展某些动态生成的类(因为不能在Less源中扩展它们)。
尽管对于这些特殊情况,导入未缩小的bootstrap.css是相等的,并且将由Less很好地处理(因为width: 500px\9;按预期进行编译)。 因此,我想这可以更像是一个美学问题。

公平地说, @ harobed可能有充分的理由要做。
我不同意我们应该解决它。

但是,它会使用未缩小的版本进行解析...
解决此问题的一种方法是使匿名值工作不使用分号。

尝试并无法使它与匿名值一起使用。

我有这个..

                var match = parserInput.$re(/^([^@+\/'"*`(;{}-]*)(;|(?=\}))/);
                if (match) {
                    return new(tree.Anonymous)(match[1].trim());
                }

但随后它会稍微改变空白的工作原理。 也得到了下面的内容,但是没有用。

                var match = parserInput.$re(/^(([^@+\/'"*`(;{}-\s]+|\s*?)+?)\s*(;|(?=\}))/);
                if (match && match[3]) {
                    return new(tree.Anonymous)(match[1]);
                }

希望对将来的实施者有帮助(或者如果我再次将其重新备份的话,也会对我有帮助)

@lukeapage您能否澄清“ @harobed您也应该在引导程序中而不是在输出CSS中导入源”? 我是Less的新手,我正在构建的WordPress Bootstrap主题中的\ 9也有同样的问题。 这是解决方法吗?

@harobed Bootstrap较少的源只有\9;或转义的~'\9' ,这些语句由编译器编译就可以了...因此,这完全取决于您实际尝试编译的方式和方式。

我懂了。 我的主题dev文件夹有两个子级src和public。 Bootstrap位于src / less / bootstrap中,而我的自定义Less文件位于src / less中。 在我的主题dev文件夹中,我使用lessc src / less / style.less public / style.css进行编译

直到最近,这一切都很好。 我安装了clean-css,然后将其卸载。 然后编译开始在\ 9上引发错误。 我和npm的人一起工作,看来我已经干净卸载了,所以这不应该成为问题。

任何想法,将不胜感激。

@likethegoddess

然后编译开始在\ 9上引发错误。

错误消息及其指向的相应行通常会很有帮助。

是的当然。 原谅的遗漏。

我恢复了我最近的风格。less并重新开始编译。

谢谢您的宝贵时间,@ seven-phases-max。

现在
DIV { left: 500px\9 }
可以,但是
DIV { left: -500px\9 }
仍然失败

https://github.com/less/less.js/issues/1538对我来说是一个问题,同时导入bootstrap4 css作为较少的参考(bootstrap4的dist也越来越少)。

<strong i="7">@import</strong> (less, reference) "~bootstrap/dist/css/bootstrap.css";
 @ /node_modules/bootstrap/dist/css/bootstrap.css (line 4475, column 31)
 near lines:

   <strong i="10">@media</strong> screen and (min-width: 0\0) {
     .progress {

这真的像是个错误,什么时候可以得到修复@ seven-phases-max @lukeapage的任何估计? 谢谢!

此页面是否有帮助?
0 / 5 - 0 等级