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
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 }) );
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.
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With