有人可以帮我解决我的css问题。我不知道为什么我的观点没有得到编译的更少
// MIDDLEWARE
var express = require('express');
var less = require('less-middleware');
var app = express();
// LESS COMPILER
app.use(less('source/less', {
"dest": 'public/stylesheets',
"pathRoot": __dirname,
"force": true,
"render": {
"yuicompress": true
}
}));
// APP CONFIG
app.use(express.static(__dirname + '/public'));
app.set('views', 'views')
app.set('view engine', 'jade');
// ROUTES
app.get('/', function (req, res) {
res.render('index');
});
// PAGE NOT FOUND
app.use(function(req, res, next) {
res.status(404).send('Sorry cant find that!');
});
// WEB SERVER
var server = app.listen(3000, function () {
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at http://%s:%s', host, port);
});
html
head
title Hello
link(src="stylesheets/global.css" type="text/css")
body
h1 Welcome
答案 0 :(得分:2)
您可以阅读有关如何将中间件较少的src和dest目录设置为https://github.com/emberfeather/less.js-middleware/wiki/Examples的不同目录。但结果是:为了使事情相对简单,源和目标的相对路径必须相同。
我建议您将较少的源文件移出public
以使其更容易,因为它们不应该按照原样提供。
在包含less-src
目录的同一目录中创建public
目录。在less-src
内,创建一个stylesheets
目录并将global.less
放在那里。然后将您较少使用的中间件更改为:
app.use(lessMiddleware(__dirname + '/less-src',
{dest: __dirname + '/public'}));
这将有效。
如果您不喜欢stylesheets
中的less-src
目录,那么您需要查看有关在上面链接中预处理较少路径的资料。对我而言,在源代码布局方面,交易代码复杂性几乎没有增益。但如果它对你来说似乎有价值,那么你就是这样做的。