使用Express的较less中间件
我想在我的nodejs项目上设置较less,当我从浏览器请求我的页面less-middleware
debugging显示我错误的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