我无法在快速工作区中渲染更少的CSS。 这是我当前的配置 (我的css / less文件 位于 “ public / stylo /”中) :
app.configure(function() { app.set('views' , __dirname + '/views' ); app.set('partials' , __dirname + '/views/partials'); app.set('view engine', 'jade' ); app.use(express.bodyDecoder() ); app.use(express.methodOverride()); app.use(express.compiler({ src: __dirname + '/public/stylo', enable: ['less']})); app.use(app.router); app.use(express.staticProvider(__dirname + '/public')); });
这是我的 main.jade文件 :
!!! html(lang="en") head title Yea a title link(rel="stylesheet", type="text/css", href="/stylo/main.less") link(rel="stylesheet", href="http://fonts.googleapis.com/cssfamily=Droid+Sans|Droid+Sans+Mono|Ubuntu|Droid+Serif") script(src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js") script(src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.7/jquery-ui.min.js") body!= body
这是我的 main.less CSS :
@import "goodies.css"; body { .googleFont; background-color : #000000; padding : 20px; margin : 0px; > .header { border-bottom : 1px solid #BBB; background-color : #f0f0f0; margin : -25px -25px 30px -25px; /* important */ color : #333; padding : 15px; font-size : 18pt; } }
这是我的好 东西 。
.rounded_corners(@radius: 10px) { -moz-border-radius : @radius; -webkit-border-radius: @radius; border-radius : @radius; } .shadows(@rad1: 0px, @rad2: 1px, @rad3: 3px, @color: #999) { -webkit-box-shadow : @rad1 @rad2 @rad3 @color; -moz-box-shadow : @rad1 @rad2 @rad3 @color; box-shadow : @rad1 @rad2 @rad3 @color; } .gradient (@type: linear, @pos1: left top, @pos2: left bottom, @color1: #f5f5f5, @color2: #ececec) { background-image : -webkit-gradient(@type, @pos1, @pos2, from(@color1), to(@color2)); background-image : -moz-linear-gradient(@color1, @color2); } .googleFont { font-family : 'Droid Serif'; }
很酷的交易。现在: 我通过npm安装的次数较少, 并且从另一篇帖子中听说@imports应该引用而.css不是.less。在任何情况下,我已经试过了 组合 开关.less用于.css在玉,少的文件,但没有成功。
.css
.less
如果您可以提供帮助或提供解决方案,我将不胜感激。
注意: 如果我输入任何ol’,玉部分都可以正常工作.css。 注意2: 如果我通过命令行使用lessc,则较少编译。
天哪,这些东西在路径如何工作上非常不一致,但是我发现了如何使它工作。
第一个问题与您的路径有关,并且compiler和都staticProvider需要编译器使用,/public并且编译器将挂接到该路径下的所有请求中。如果您不这样做,则编译器将尝试使用类似的路径/public/stylo/stylo。
compiler
staticProvider
/public
/public/stylo/stylo
第二个问题在于@importin main.less文件以及较少的编译器是愚蠢的并且不能处理相对导入的事实。
@import
main.less
@import "/public/stylo/goodies.css";在您的使用main.less将使它工作。
@import "/public/stylo/goodies.css";
针对以下相对路径问题提交了错误less:https: //github.com/cloudhead/less.js/issues/issue/177
less