Node.js-express-jade-compile SASS/LESS

Node.js-express-jade-compile SASS/LESS,node.js,sass,less,express,Node.js,Sass,Less,Express,有没有人有nodejs-express-SASS/LESS的新手指南?我一直没能让它工作。我现在举的例子是一个尽可能裸露的骨骼 var express = require('express'), less = require('less'), app = express.createServer(); var pub_dir = __dirname + '/public'; app.configure(function(){ app.use(express.comp

有没有人有nodejs-express-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 }));
});
文件
style.css.less
位于
pub_dir
中,我可以直接访问该文件,样式是

@brand_color: #4D926F;
body {
  color: @brand_color;
}
据我所知,编译应该在启动时进行,并且会在
src
-dir中生成一个css文件,因为没有指定dest。

我的服务器运行得很好,但无论我尝试了多少种方式来搞乱LESS/SASS文件的目录名、目录和名称(以及它们各自的LESS/SASS内容),我都无法让它正常工作。该死!帮助。

我也是一个尝试进行此设置的新手。我尝试了一些我找到的代码片段,直到我最终注意到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'));
});
这里有一个类似的问题:


您还可以查看这两个项目的指南,这两个项目可以让您的生活更轻松


  • 您的设置是的标准设置。但请确保系统上安装的编译器较少

    npm安装lessjs现成产品

    然后将以下内容添加到server.js


    app.use(require('readyde').middleware({root:“public”}))

    我正在使用Express4.x和SASS。下面是我用于样式的片段部分(注意注释):


    这里有一个要点:

    当然。。。使src目录写入可访问。。。F(*&=)@SamHasler谢谢你,是的,Less4客户因为DocPad而被弃用。更新了链接以反映这一点。是的,它适用于我的sass案例。我使用了以下命令
    express myapp-c sass
    除了创建具有express结构的应用程序外,它还向我的应用程序添加了节点sass中间件设置。
    var express = require('express'),
        // ... other packages
        sass = require('node-sass');
    
    // ...
    var app = express();
    // ...
    // Commented this default express generator line:
    // app.use(require('stylus').middleware(path.join(__dirname, 'public')));
    //
    // Because of some bug the node-sass (http://git.io/eItWzA) does not scan the correct folders,
    // so I have both .scss and final .css in one /public/css/ folder
    app.use(
        sass.middleware({
            src: __dirname + '/public/', // where the sass files are 
            dest: __dirname + '/public/', // where css should go
        })
    );
    
    // ... rest of app