gpt4 book ai didi

javascript - Node.js + Express.js。如何减少 css 的渲染?

转载 作者:IT老高 更新时间:2023-10-28 23:00:03 27 4
gpt4 key购买 nike

我无法在我的快速工作区中呈现更少的 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'));
});

这是我的 ma​​in.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

这是我的 ma​​in.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;
}
}

这是我的 goodies.less css:

.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 安装了 less,我从另一篇帖子中听说 @imports 应该引用 .css 而不是 .less。无论如何,我已经尝试了在jade 和less 文件中切换.less.csscombinations,但没有成功。

如果您能提供帮助或有解决方案,我将不胜感激。

注意:如果我输入任何 ol' .css, Jade 部分可以正常工作。
注意2:如果我通过命令行使用lessc,那么less会编译。

最佳答案

天哪,这些东西在路径的工作方式上非常不一致,但是我发现了如何让它工作。

第一个问题是您的路径,compilerstaticProvider,编译器需要使用 /public 并且会 Hook 所有请求在此之下。如果你不这样做,编译器会尝试使用像 /public/stylo/stylo 这样的路径。

第二个问题在于 main.less 文件中的 @import 以及 less 编译器愚蠢且不处理相对导入这一事实。

在您的 main.less 中使用 @import "/public/stylo/goodies.css"; 将使其工作。

针对 less 的相对路径问题提交了一个错误:
https://github.com/cloudhead/less.js/issues/issue/177

关于javascript - Node.js + Express.js。如何减少 css 的渲染?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4618257/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com