- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的 MVC 4 项目中使用 DotLess 和我在网上找到的 LessTransformer.cs。
using System;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using System.Web.Optimization;
using MyNamespace.Infrastructure.Bundler;
using dotless.Core.configuration;
namespace MyNameSpace.Infrastructure.Transformers.Less
{
public class LessTransform : IBundleTransform
{
private readonly DotlessConfiguration _configuration;
public LessTransform(DotlessConfiguration configuration)
{
_configuration = configuration;
}
public LessTransform()
: this(DotlessConfiguration.GetDefaultWeb())
{ }
public void Process(BundleContext context, BundleResponse response)
{
var builder = new StringBuilder();
_configuration.MinifyOutput = false;
_configuration.ImportAllFilesAsLess = true;
_configuration.CacheEnabled = false;
_configuration.LessSource = typeof(VirtualFileReader);
foreach (var file in response.Files)
{
if (!File.Exists(file.FullName))
{
continue;
}
var content = ResolveImports(file);
builder.AppendLine((_configuration.Web) ?
dotless.Core.LessWeb.Parse(content, _configuration)
: dotless.Core.Less.Parse(content, _configuration));
}
response.ContentType = "text/css";
response.Content = builder.ToString();
}
private static readonly Regex SLessImportRegex =
new Regex("@import [\"|'](.+)[\"|'];", RegexOptions.Compiled);
private static string ResolveImports(FileInfo file)
{
var content = File.ReadAllText(file.FullName, Encoding.UTF8);
return SLessImportRegex.Replace(
content,
match =>
{
var import = match.Groups[1].Value;
// Is absolute path?
Uri uri;
if (Uri.TryCreate(import, UriKind.Absolute, out uri))
{
return match.Value;
}
var path = Path.Combine(file.Directory.FullName, import);
if (!File.Exists(path))
{
throw new ApplicationException(string.Concat("Unable to resolve import ", import));
}
return match.Value.Replace(import, path);
});
}
}
}
我已经添加了这个
_configuration.MinifyOutput = false;
_configuration.ImportAllFilesAsLess = true;
_configuration.CacheEnabled = false;
_configuration.LessSource = typeof(VirtualFileReader);
using System.IO;
using System.Web.Hosting;
using dotless.Core.Input;
namespace MyNamespace.Infrastructure.Bundler
{
internal sealed class VirtualFileReader : IFileReader
{
public byte[] GetBinaryFileContents(string fileName)
{
fileName = GetFullPath(fileName);
return File.ReadAllBytes(fileName);
}
public string GetFileContents(string fileName)
{
fileName = GetFullPath(fileName);
return File.ReadAllText(fileName);
}
public bool DoesFileExist(string fileName)
{
fileName = GetFullPath(fileName);
return File.Exists(fileName);
}
private static string GetFullPath(string path)
{
return HostingEnvironment.MapPath("\\Content\\css\\" + path);
}
}
}
我有一个 Less 文件
@import url('LESS\Site.less');
@import url('LESS\Site.Main.less');
body {
#featured-posts {
clear:both;
}
}
@media all and (max-width:320px) {
@import url('LESS\Site.Mobile.less');
}
(我尝试了各种导入路径和/w 和/wo 函数符号 url()
在我的 BundleConfig 中全部拉取
Bundle siteStyles = new StyleBundle("~/bundles/css").Include("~/Content/css/Main.less");
siteStyles.Transforms.Add(new LessTransform());
siteStyles.Transforms.Add(new CssMinify());
bundles.Add(siteStyles);
在我添加 VirtualFileReader 之前,我遇到了错误:-
C:/SourceControl/Git/MyNameSpace/MyNameSpace/Content/css/LESS/Site.less' 是物理路径,但应该是虚拟路径。
自从我添加它后,我得到的只是 dotless.Core.LessWeb.Parse(content, _configuration) 上的值为 null
它总是在这条线上炸毁,虽然我一直有点狂热地实现这些更少的东西和无点,因为我以前没有使用过,但我似乎找不到任何好的可靠文档/教程在上面。因此,如果您能帮助我解决我的错误,并为我指明有关该主题的一些优秀教程的方向,我将不胜感激。
[编辑] 添加关于 less 文件和文件结构的详细信息。
My File structure is
Content/css/Main.less
Content/css/LESS/Site.less
Content/css/LESS/Mobile.less
等等...TIA。
附注不要担心 MyNamespace/MyNamespace 内容,为了清楚起见,我只是将其全部缩短。
最佳答案
我不明白你为什么要使用自定义转换器。
LESS 规范说,如果您使用以下语法,文件将被自动捆绑:
@import "LESS/Site";
它非常适合我,我不需要任何自定义转换器,只需要标准的无点包。要启用缩小,您需要在 web.config 中进行此设置:
<dotless minifyCss="true" cache="true" web="true" />
我有大约 30 个组件和子组件的导入,输出是一个缩小的文件。
我建议你不要使用样式包,而是直接指向你的 less 文件:
<link href="~/Content/css/main.less" rel="stylesheet" />
dotless http 处理程序将启动,将 less 转换为 css 并将其缓存以供后续请求使用
关于c# - Site.less' 是物理路径,但应该是虚拟路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15882193/
我一直在寻找游戏/模拟解决方案,以便在时间流逝时寻找距离,但这不是我要找的。 我正在寻找一个 O(1) 公式来计算(0 或 1 或 2)时钟时间,其中两个圆圈彼此之间的距离恰好为 r1+r2。负时间是
我究竟做错了什么? > crossprod(1:3,4:6) [,1] [1,] 32 根据本网站:http://onlinemschool.com/math/assistance/ve
嗨,我目前正在为类开发一个迷你游戏(第一次做这样的事情),我根本不知道如何开始碰撞检测。好吧,我正在创建的游戏是一款在冰冷的圆形竞技场上自上而下的相扑格斗游戏,您可以四处移动以获得动力和速度,并尝试击
这段代码取自使用 XNA 框架构建的游戏。我想从三角学和物理学的角度解释一下它是如何工作的。 ball.velocity = new Vector2((float)Math.Cos(cannon.ro
因此,我正在努力自学 Canvas (HTML5) 并编写了大部分简单的游戏引擎代码。它是空间场景(行星、恒星、天体等)的二维表示。我的默认“Sprite”类有一个像这样的帧监听器: “baseCla
这个问题在这里已经有了答案: Are the physical memory addresses of an array also stored in order like the virtual o
我正在尝试阅读英特尔软件开发人员手册以了解操作系统的工作原理,这四个寻址术语让我感到困惑。以上是我的理解,如有不对请指正。 线性地址 : 对一个孤立的程序来说,似乎是一长串以地址0开头的内存。该程序的
我尝试在 AndEngine 示例包中复制并粘贴物理示例。 没有出现错误,但当我运行它时,模拟器显示“不幸的是,PhysicsActivity 已停止”。 模拟器使用 API 15,GPU 已开启,磁
当我运行此代码时,第一行 CollisionWithplayer 给了我一个错误的指令错误。该错误不会每次都会出现,只是偶尔出现一次,并且没有类似的条件来确定导致该错误的原因。 func didBeg
您好,我有以下 Canvas 应用程序:http://dev.driz.co.uk/canvas/ 正如您将看到的,它渲染了一堆球。我遇到的问题是当应用程序首次启动时,球被 Canvas 边缘切断。他
我有两个 3d 物理 vector ,带有 (x,y,z) 和方向。我想对它们做一些操作。但我有一些问题: 我应该如何在 C++ 中表示这个 vector ?换句话说,我在下面写了类,但我不知道如何表
我有一个有 body 的 Sprite 。我想通过路径移动 Sprite 。我已经尝试使用 PathModifier 执行此操作, Sprite 会按原样移动,但它的 body 不会跟随 Sprite
我开发了类似投币推土机的游戏。为了硬币的平稳移动,我为每个硬币添加了一种物理 Material ,但这样做之后我的游戏速度非常慢。有没有其他选择,或者我如何在不使用物理 Material 的情况下使硬
我正在开发一款简单的平台游戏,例如 super 马里奥。我将 Java 与 LibGdx 引擎一起使用。我的物理问题与帧率无关。在我的游戏中,角色可以跳跃,跳跃高度显然取决于帧率。 在我的桌面上,游戏
我正在开发一个可能包含数学、物理和化学符号的问答应用程序,因为这是一个实时游戏应用程序,每次问题将从服务器下载并针对特定主题显示。它需要是一个原生的 Android 应用程序,并且性能非常重要(两人游
我的任务是编写一个对象,该对象可以接收不同类型的路径/url,并返回它是什么类型的路径/url。例如路径可以是 1. [drive]:\Temp 2. \\Temp 3. Temp (assuming
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
注意:当我提到层时,我指的是物理层。此站点上与“层”相关的许多问题都指的是逻辑层,这不是我要问的。 我正在设计一个使用标准“3 层”架构的应用程序,包括表示层、业务逻辑 (BLL) 层和数据访问层 (
如何检查设备上的屏幕或物理/电容式导航按钮 最佳答案 您可以使用 ViewConfiguration.get(context).hasPermanentMenuKey() 仅适用于 API 级别 14
我在我的 android 游戏中使用 AndEngine,我从 github 下载了主 AndEngine,但是没有主的 Physics Box2D 扩展。我不知道在哪里下载它或我可以使用它的哪个版本
我是一名优秀的程序员,十分优秀!