Dotless在编译Bootstrap 3的less源代码时出现错误。
Dotless在编译Bootstrap 3的less源代码时出现错误。
我使用dotless 1.3.1.0编译less文件。在使用bootstrap 2.x时,一切正常,但在切换到bootstrap 3.0.0之后(从这里下载源代码:http://getbootstrap.com/getting-started/),突然出现了这个错误:
在'mixins.less'文件的第47行上,期望找到')'但实际上找到的是' ': [46]: //
Sizing shortcuts [47]: .size(@width; @height) {
------------^ [48]: width: @width;
似乎在参数之间使用分号作为分隔符不是合法的less语法。mixins.less中的原始代码如下:
...
// Sizing shortcuts
.size(@width; @height) {
width: @width;
height: @height;
}
...
我需要使用更新的less编译器吗?还是bootstrap发布了有bug的less源码?
更新1:我发现了一个用于修复;问题的dotless拉取请求
https://github.com/dotless/dotless/pulls
"Fixes for ; not supported in mixin parameter lists #319 #320"
在dotless修复此问题之前,我将继续使用css文件。
在尝试让Dotless在Bootstrap 3的less源码中编译时遇到了问题。经过长时间的尝试,我发现这个时候的Dotless是没用的。但是我找到了如何在MVC ASP.Net项目中实现Less和Bootstrap 3 Less的方法。
这个人在我的眼里赢得了互联网,如果你能找到他在Stack Exchange上的账号,请告诉我。
最近,我的一个同事在使用dotless时遇到了一些问题,他的一些关于Bootstrap 3的修复已经被合并了。根据他的推文,Bootstrap 3现在可以使用最新的代码进行编译了。同时,根据这个推文,我预计很快就会有一个更新的NuGet包可用。
虽然看起来很不错,但是它似乎在与dotless.Compiler可执行文件一起使用时出现了问题。在实时监视LESS文件的更改时,它仍然无法正常工作。
这个问题是因为我犯了个愚蠢的错误...页面上的“下载DLL”链接提供的是1.3.1版本,而不是1.4.1版本。要获取1.4.1版本,你必须下载最新的zip文件,并在Visual Studio中进行构建。Voila。我们的下一步是获取另一个有用的东西:tedgustaf.com/blog/2010/11/setup-dotless-in-aspnet-project,该网页介绍了如何将构建器纳入项目的构建过程中。
解决这个问题的方法是更新dotless的版本,确保下载的是1.4.1版本而不是1.3.1版本。另外,你还可以按照上述网页的说明,将构建器纳入项目的构建过程中。
希望这些信息对你有所帮助。
问题原因:在Bootstrap 3的LESS源代码中,使用Dotless编译时出现错误。
解决方法:使用Recess工具代替Dotless进行编译。
具体步骤如下:
1. 下载并安装Node.js和npm。
2. 打开命令行工具,运行以下命令安装Recess:
npm install recess -g
3. 创建一个名为tmpfl.less的文件,并将需要编译的LESS代码粘贴到其中。
4. 运行以下命令使用Recess进行编译:
recess --compile tmpfl.less > tmpfl.css
如果在使用Dotless编译时仍然出现错误,可以尝试使用Recess来解决问题。
请注意,以上内容来自于一篇讨论帖子,原文中提到Bootstrap的文档可能已经更新,因此不确定是否仍然需要使用Recess进行编译。同时,还提到了在.Net环境中使用Recess的方法,可以参考相关链接了解更多详情。