如何用nodejs,express和less-middleware来编译2+不同的LESS风格?
是否有可能编译2个或更多不同的LESS样式到2个或更多不同的CSS样式与nodejs,expression和像这样的中间件less?
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
。 中间件监视目标path寻找.css
文件的任何请求。 当它find一个.css
文件时,它会查找匹配的.less
文件的source
目录,并使用它来生成.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
你可以在wiki上看到更多的例子 。