Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you install SASS with Express?

I am creating a node.js app with Express and socket.io. I want to use SASS and I see there is a npm package for it, what I don't understand is how do I link between the SASS npm and the app and make it parse the SASS?

UPDATE: I used SASS middleware https://github.com/andrew/node-sass installed it and included it the following way:

  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   }); }); 

But it still doesn't work

like image 472
ilyo Avatar asked Jan 09 '13 17:01

ilyo


People also ask

How use Sass with express js?

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

How do I download Sass with npm?

You can install Sass globally using npm install -g sass which will provide access to the sass executable. You can also add it to your project using npm install --save-dev sass . This provides the executable as well as a library: const sass = require('sass'); const result = sass.

How do I know if Sass is installed?

The “-v” command checks the version of SASS you have installed. If you don't have it installed, it will come back as not installed.


1 Answers

You need to use the sass middleware, for example this one.

Quoting from docs:

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

in case of using express, just add:

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

to your app.configure() call.

Of course on production systems it's a better idea to precompile sass to css.

update

In the example above the middleware will look for sass files in __dirname + '/sass/css'. Also by default it looks for files with .scss extension. There doesn't seem to be an option to change the extension.

like image 128
soulcheck Avatar answered Oct 05 '22 07:10

soulcheck