Node.js - express - jade - 编译SASS/LESS

Gni*_*imm 11 sass less node.js express

任何人都有一个关于nodejs 的真正新手指南 - 快递 - SASS/LESS?我无法让这个工作.我现在的例子是尽可能的准确..

var express = require('express'),
    less = require('less'),
    app = express.createServer();

var pub_dir = __dirname + '/public';

app.configure(function(){ 
    app.use(express.compiler({ src: pub_dir, enable: ['less'] }));
    app.use(express.staticProvider( pub_dir ));
};

app.configure('development', function(){
    app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
Run Code Online (Sandbox Code Playgroud)

该文件style.css.less位于pub_dir,我可以直接访问,并且样式是

@brand_color: #4D926F;
body {
  color: @brand_color;
}
Run Code Online (Sandbox Code Playgroud)

据我所知,编译应该在启动时发生,并且将在src-dir中生成css文件,因为未指定dest.
我的服务器运行正常,但无论我尝试使用LESS/SASS文件的dirnames,目录和名称(以及它们各自的LESS/SASS内容)的方式,我都无法解决这个问题.该死!救命.

xer*_*r0x 13

我也是一个想要获得此设置的新手.我已经尝试了一些我发现的片段,直到我终于注意到express有一个'express'命令来设置一个新项目.

尝试express -c less使用LESS创建一个示例项目作为CSS引擎.

这应该创建所需的目录.新的css文件将从您的静态目录提供.

配置是:

app.configure(function(){
  app.set('views', __dirname + '/views');
  app.set('view engine', 'hbs');
  app.use(express.bodyDecoder());
  app.use(express.methodOverride());
  app.use(express.compiler({ src: __dirname + '/public', enable: ['less'] }));
  app.use(app.router);
  app.use(express.staticProvider(__dirname + '/public'));
});
Run Code Online (Sandbox Code Playgroud)