node.js - 如何用nodejs、express和less-middleware编译2种以上不同的LESS风格?

标签 node.js express less

是否可以像这样使用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/

相关文章:

LESS 的 Eclipse 插件 : How to hide errors of CSS frameworks?

compiler-construction - 保存导入的 LESS 时自动生成主 CSS

javascript - 如何在请求中添加正文并获取nodejs Express中的第二个休息服务

javascript - Express4 在 POST 请求中返回错误

javascript - 身份验证后将用户重定向到上一页

node.js - 为什么我的 Express 路由处理程序没有 req.body 值?

css - 每次保存文档时如何编译LESS文件?

node.js - Node 异步推送循环

javascript - 错误 "Error: A <Route> is only ever to be used as the child of <Routes> element"

mysql - 使用openshift在mysql数据库上访问被拒绝