我有一个Azure网站.我还在我的MVC应用程序中无点运行来翻译和捆绑Less文件.当我将发布版本部署到Azure时,Less文件将返回404,除非我在其属性中将其设置为Build Action ="Content".一旦我更改了该设置,一切都按预期工作.
所以,我不再有问题,除了我不明白为什么必须设置为内容.谁能解释一下?
在asp.net mvc 3项目中,我正在使用Combres来合并和缩小我的CSS文件.我正在使用dotlesscss过滤器来处理诸如变量之类的花式css附加功能.
但是,当我尝试使用dotlesscss @import语句时(请参阅页面底部的导入),css生成错误,出现以下错误:
Could not find a part of the path 'C:\Program Files (x86)\IIS Express\colors.less'.
Run Code Online (Sandbox Code Playgroud)
很明显,无点编译器正在查找错误的目录,但是:如何解决这个问题?
[编辑]:按要求:我尝试了以下synaxes:
@import "Colors.less"
@import "~/Content/Colors.less"
Run Code Online (Sandbox Code Playgroud) 我想在数据库中存储.less参数,一个示例用例可能是每个用户根据他或她的偏好更改颜色.
我认为执行此操作的最佳方法是解析所有.less文件以获取参数,然后用户可以设置将针对用户保存在DB中的参数.当请求less文件时,处理程序重载可以向DB查询参数.然后处理程序可以输出带有参数集的css.
问题: - 如何获取.less文件并获取参数列表? - 如何在.less文件中获取一系列参数(键值对)和输出css?
全部使用无点框架.
我刚刚安装了Visual Studio 2013预览版并运行了我的网站.我注意到我的网站中使用的文件越少,没有被正确转换为css,而是作为空白的CSS文件.
似乎在无点的httphandler中出现了问题,因为当我强制缩小捆绑包时,一切正常.
web.config中
<section name="dotless" type="dotless.Core.configuration.DotlessConfigurationSectionHandler, dotless.Core" />
...
<httpHandlers>
<add path="*.less" verb="GET" type="dotless.Core.LessCssHttpHandler, dotless.Core" />
</httpHandlers>
...
<handlers>
<add name="dotless" path="*.less" verb="GET" type="dotless.Core.LessCssHttpHandler,dotless.Core" resourceType="File" preCondition="" />
</handlers>
Run Code Online (Sandbox Code Playgroud)
如果我强行缩小,这个问题似乎就会消失.System.Web.Optimization.BundleTable.EnableOptimizations = false;这表明它处理HTTP处理程序的方式有所不同
当我想使用dotless(http://www.dotlesscss.org/)时,我遇到了一个问题:
当我尝试请求文件时,http://localhost/static/css/StyleLess.less我收到HTTP错误:
处理程序"dotless"在其模块列表中有一个错误的模块"ManagedPipelineHandler".
但是,如果应用程序池设置为"集成",我没有问题.
我试过用,等等
没有成功
我通过实现dotless.Core.Loggers.ILogger接口创建了一个自定义记录器.
现在我尝试通过在web.config中配置它来使用此记录器,如下所示:
<dotless minifyCss="false" cache="false" web="false" logger="company.product.server.dotLess.CLessLogger" log="debug" />
Run Code Online (Sandbox Code Playgroud)
问题是:没有写入跟踪,我的自定义记录器从不被调用/创建.
如果我将记录器更改为其中一个标准记录器,如ResponseLogger:
<dotless minifyCss="false" cache="false" web="false" logger="dotless.Core.Loggers.AspResponseLogger" log="debug" />
Run Code Online (Sandbox Code Playgroud)
我按预期在响应中收到日志消息.
自定义记录器的代码只是将日志记录转发给我们自己的跟踪器:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using company.product.server.tools.trace;
using dotless.Core.Loggers;
using log4net.Core;
namespace company.product.server.dotLess
{
public class CLessLogger : dotless.Core.Loggers.ILogger
{
public CLessLogger()
{
CTracerFactory tracerFactory = new CTracerFactory();
m_tracer = tracerFactory.GetTracer(this.GetType().ToString());
}
public void Log(LogLevel level, string message)
{
switch(level) {
case LogLevel.Debug:
Debug(message);
break;
case LogLevel.Error:
Error(message);
break;
case LogLevel.Info:
Info(message);
break;
case LogLevel.Warn:
Warn(message);
break; …Run Code Online (Sandbox Code Playgroud) 我正在使用Azure SDK 2.2并创建了一个全新的MVC 5 Web项目.我添加了无点,无引导(随后从getbootstrap.com更新到最新的LESS),并且字体很棒.我已更新到最新的一切并解决了dotless在我的web.config文件中添加了一个部分并导致项目返回500内部服务器错误的问题.该配置已根据错误移至.
现在页面加载了,但是从少到CSS的bootstrap编译存在问题.这是我在访问bootstrap.less文件时看到的内容:
Expected '}' but found ':' on line 643 in file 'mixins.less':
[642]: padding-right: (@grid-gutter-width / 2);
[643]: &:extend(.clearfix all);
--^
[644]: }
Run Code Online (Sandbox Code Playgroud)
这是我的BundleConfig.cs文件所说的:
bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/bootstrap/bootstrap.less",
"~/Content/css/font-awesome.css",
"~/Content/site.css"));
Run Code Online (Sandbox Code Playgroud)
Font-Awesome和Site CSS一起显示得很好,但他们没有使用LESS.LESS代码直接来自http://getbootstrap.com的Bootstrap 3.1.1源代码,因此我不认为这是问题所在.
我也试过将Bootstrap分成它自己的包:
bundles.Add(new StyleBundle("~/bundles/bootstrap").Include(
"~/Content/bootstrap/bootstrap.less"));
bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/css/font-awesome.css",
"~/Content/site.css"));
Run Code Online (Sandbox Code Playgroud)
分离捆绑包引发了上面看到的相同异常,并在调试控制台中给出了此错误消息:
Critical error was detected at line 2, column 10 in http://127.0.0.1/Content/bootstrap/bootstrap.less. SCRIPT1004: Expected ';'
Run Code Online (Sandbox Code Playgroud)
该行只是较少的bootstrap.less文件中的导入.
还有什么建议在哪里看?
我的css有问题,因为编译后我的网站没有添加任何样式.
如何让dotlesscss显示错误?常规.less会向您显示一条非常方便的好消息.
我在AppHarbor上遇到了DotLess的巨大问题.我根据无点正确设置了我的web.config但是我的.less文件总是给出404错误.
我确保文件是作为内容构建的,有一个mime类型,并且所有设置都是无点的.但它仍然没有工作......是否有其他人有同样的问题?有没有其他人能够解决它?
我正在尝试LESS(不是SASS语法的粉丝)并且一直试图找出用它进行媒体查询的最佳方法.
我通过这篇博文了解了如何用LESS"做"媒体查询,但它指出了这一事实,这会导致所有媒体查询在生成的CSS中分离和分散.这并没有真正打扰我(我可以不关心结果,更多关心它的工作).困扰我的是一条评论,该评论在从iOS设备查看时讨论了问题,而评论者发现,一旦整合了媒体查询,问题就解决了.
有没有人找到使用LESS媒体查询的好解决方案?
我开始这种工作的方式就像......
//Have an overall structure...
.overall(){
//Have ALL your CSS that would be modified by media queries and heavily use
//variables that are set inside of each media queries.
}
@media only screen and (min-width: 1024px){
//Define variables for this media query (widths/etc)
.overall
}
Run Code Online (Sandbox Code Playgroud)
我知道这可能存在一些问题,但目前的设置似乎并没有那么有用.
所以我想我的问题是,是否有任何好的解决方案/黑客允许分组媒体查询?
(只是因为我使用无点作为解析我的.less文件的引擎)