客户端的编译较少

时间:2014-03-03 19:37:28

标签: javascript asp.net css less dotless

我有一个.LESS样式表,我找到了一种方法来改变变量值抛出JavaScript与旧的修改版本less.js

https://github.com/hbi99/less.js/commit/6508fe89a6210ae3cd8fffb8e998334644e7dcdc)

问题是在设计阶段工作得很好,因为我正在用浏览器编译.LESS,现在我用asp.net构建网站,我决定使用dotless,编译.LESS文件的问题在服务器中,动态变量转换为静态,删除我的变量,不要让我更改值抛出JS。

问题是,有没有办法说asp.net的.LESS文件必须由客户端的浏览器编译?

因为只是在我的html页面中导入.LESS文件和JS文件不起作用,

    <link href="~/Content/css/UI.less" rel="stylesheet/less" type="text/css" />

浏览器找不到.LESS文件并使用404 HTTP响应进行响应。 asp.net会隐藏该文件吗?

PD:我已经尝试过不将无点依赖项添加到应该编译.LESS文件的项目

2 个答案:

答案 0 :(得分:3)

我能找到答案,404 HTTP响应的唯一问题是IIS不支持文件扩展名。不带MYME类型的样式表/更少因为安全原因我想它隐藏了请求,而我必须做的是配置控制台... ...

appcmd set config /section:staticContent /+[fileExtension='.less',mimeType='text/css']

答案 1 :(得分:2)

如果您希望服务器编译LESS样式表,请使用dotless。 如果要在浏览器中编译,请使用less.js文件。 此外,代替appcmd命令,您可以告诉Web.config您的应用程序将提供.less文件

<staticContent>
        <remove fileExtension=".less" />
        <mimeMap fileExtension=".less" mimeType="text/css" />
</staticContent>

这样,如果将代码部署到另一台计算机,则不必运行appcmd