如何使用Express安装SASS?

我正在用Express和socket.io创build一个node.js应用程序。 我想使用SASS,我看到有一个NPM包,我不明白的是如何链接SASS NPM和应用程序,并parsingSASS?

更新:我使用SASS中间件https://github.com/andrew/node-sass安装它,并以下列方式包含它:

sass = require('node-sass'); app.configure(function(){ app.set('port', process.env.PORT || 3000); /* other stuff */ sass.middleware({ src: __dirname + '/public/stylesheets/sass', dest: __dirname + '/public/stylesheets', debug: true }); }); 

但它仍然不起作用

您需要使用sass中间件,例如这个 。

从文档引用:

 var server = connect.createServer( sass.middleware({ src: __dirname , dest: __dirname + '/public' , debug: true }), connect.static(__dirname + '/public') ); 

在使用快递的情况下,只需添加:

  app.use( sass.middleware({ src: __dirname + '/sass', //where the sass files are dest: __dirname + '/public', //where css should go debug: true // obvious }) ); 

到你的app.configure()调用。

当然,在生产系统中,预先编译sass到CSS是一个更好的主意。

更新

在上面的示例中,中间件将在__dirname + '/sass/css'查找sass文件。 同样默认情况下,它会查找扩展名为.scss文件。 似乎没有改变扩展名的选项。

这是一个基于各种来源的解决scheme,包括上面的线程/注释:

节点:

 var connect = require('connect'); var sass = require('node-sass'); var srcPath = __dirname + '/sass'; var destPath = __dirname + '/public/styles'; var server = connect.createServer( sass.middleware({ src: srcPath, dest: destPath, debug: true, outputStyle: 'expanded', prefix: '/styles' }), connect.static(__dirname + '/public') ); 

HTML:

 <!DOCTYPE html> <html> <head> <link rel="stylesheet" type="text/css" href="styles/main.css"> etc 

文件系统:

rootDirectory / server.js(这是节点应用程序)

rootDirectory / public / styles /(这是编译的scss文件将出现的地方)

rootDirectory / sass / main.scss

这适用于我,我已经在以下示例分叉:

节点SASS-示例

这里:

node-sass-example使用前缀

如果您使用的是快递生成器然后尝试“express –view = ejs –css = sass”