我在我的ASP.NET MVC项目中使用Dotless,我有一个主要的少文件,只导入其他一些文件。
e.g。
main.less包含:
@import“lib / utils” @import“lib / account” @import“lib / settings”
我们的想法是在整个应用程序中使用单个css文件。
当我保存main.less文件时,无点编译器自动生成main.css文件,但是当我保存其中一个文件(如utils.less)时,它只生成utils.css文件,因此如果我生成更改任何.less文件我必须打开main.less并保存它以触发编译器并获取.css文件
我想知道是否有办法自动编译少的主文件,无论我保存哪个.less文件。
由于
答案 0 :(得分:3)
我使用Simpless来做我的LESS编译,你给它你的主.less文件,它会观察那个和任何子.less文件并在后台为你编译。
答案 1 :(得分:0)
这是一个老问题,遗憾的是没有办法以原生方式做到这一点。 LESS编译器只监视修改过的文件。因此,如果您使用带导入的文件,则需要修改并重新编译此文件。
在开发环境(使用js)中,您可以将其清除缓存:
<link rel="stylesheet/less" type="text/css" href="/css/style.less"/>
<script src="/js/less-1.1.5.min.js" type="text/javascript"></script>
<script>
less = {env:'development'};
function destroyLessCache(pathToCss) { // e.g. '/css/' or '/stylesheets/'
if (!window.localStorage || !less || less.env !== 'development') {
return;
}
var host = window.location.host;
var protocol = window.location.protocol;
var keyPrefix = protocol + '//' + host + pathToCss;
for (var key in window.localStorage) {
if (key.indexOf(keyPrefix) === 0) {
delete window.localStorage[key];
}
}
}
window.onload=destroyLessCache('/css/');
</script>
答案 2 :(得分:0)
Winless正是这样 - 它是一个类似于simpless的编译器,但我发现它更可靠。 http://winless.org/ -