使用Express减少中间件

时间:2015-07-03 06:01:25

标签: css node.js less

我正在尝试在我的nodejs项目上设置更少,当我从浏览器less-middleware请求我的页面时,debug显示错误的路径和dest路径。当我从我的网页上询问'/public/css/index.css'时,我将'/public/css/'添加到源路径中。以下是我的配置:

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

调试屏幕显示:

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

即使我修复目标路径,我有源问题,我不想把我的较少的文件放入公共文件夹。有没有办法从编译中删除/public/css。 我试图添加:

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

console.log从未显示过。也许有一种方法可以不编译用户要求的每个css文件,只编译那些文件夹较少的文件 附:我使用的每个模块都在"*"版本下。

2 个答案:

答案 0 :(得分:4)

您可以尝试此操作(在浏览器中访问" /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
}));

答案 1 :(得分:1)

实际上这很简单。

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

现在,在/server/less文件夹中,我们创建了文件夹public/css,所有内容都以正确的方式提升。此外,如果我们有文件夹admin/css,它也可以。 Trick是在文件夹/server/less

中创建文件夹