是否可以像这样使用nodejs、express和less-middleware将2种或更多不同的LESS样式编译为2种或更多不同的CSS样式?
var less = require('less-middleware');
app.use(less({
src: '/less',
dest: '/css',
pathRoot: path.join(__dirname, 'public'),
compress: true
}));
LESS 和 CSS 的位置
style-one.less -> style-one.css
style-two.less -> style-two.css
最佳答案
确实如此。这就是less-middleware
的构建目的。中间件监视目标路径,查找对 .css
文件的任何请求。当它找到 .css
文件时,它会在 source
目录中查找匹配的 .less
文件,并使用它来生成 .css
文件。
这是使用最新版本的 less-middleware 的示例:
app.use(require('less-middleware')(path.join(__dirname, 'source', 'less'), {
dest: path.join(__dirname, 'public'),
options: {
compiler: {
compress: true
}
},
preprocess: {
path: function(pathname, req) {
return pathname.replace('/css/', '/');
}
},
debug: true,
force: true
}));
打开debug
后,您应该在控制台中看到类似这样的内容:
pathname : /css/style.css
source : /myWebsite/source/less/style.less
destination : /myWebsite/public/css/style.css
GET /css/style.css 200 23ms - 87b
如果您请求同一目录中的另一个 .css
文件:
pathname : /css/style2.css
source : /myWebsite/source/less/style2.less
destination : /myWebsite/public/css/style2.css
GET /css/style2.css 200 4ms - 87b
您可以查看更多examples在维基百科上。
关于node.js - 如何用nodejs、express和less-middleware编译2种以上不同的LESS风格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24222755/