使用Express的较less中间件

我想在我的nodejs项目上设置较less,当我从浏览器请求我的页面less-middlewaredebugging显示我错误的path和目标path。 当我要求从我的网页'/public/css/index.css'例如'/public/css/index.css' '/public/css/'到源path。 以下是我的configuration:

 app.use(lessMiddleware(__dirname+'/server/less',{ debug: true, dest: __dirname+'/public/css', once: true })); 

并debugging屏幕显示:

 pathname : /public/css/index.css source : D\Work\project\server\less\public\css\index.less destination : D\Work\project\public\css\public\css\index.css 

即使我修复目标path,我有问题的来源,我不想把我的less文件到公用文件夹。 有没有办法从编译更less的/public/css中删除。 我曾尝试添加:

 'preprocess.path': function(pathname, req){ console.log(pathname); } 

但是console.log从不显示。 也许有一种方法不编译每个用户问的CSS文件,只是编译那些less我文件夹中的文件。
PS每个模块我使用的是"*"版本。

你可以试试这个(在浏览器中访问“/css/style.css”):

 app.use(lessMiddleware({ src: __dirname+"/server/less", dest: __dirname+"/public/css", prefix: "/css", // force true recompiles on every request... not the // best for production, but fine in debug while working // through changes force: true, debug: true })); 

其实这很简单。

 app.use(lessMiddleware(__dirname+'/server/less/',{ debug: true, dest: __dirname, force: true })); 

所以现在在文件夹/server/less我们创build文件夹public/css ,一切都拉正确的方式。 另外,如果我们有文件夹admin/css它也可以。 窍门是创build文件夹/server/less