Connect/Express middleware for node-sass.
npm install node-sass-middleware
Recompile .scss
or .sass
files automatically for connect and express based http servers.
const connect = require('connect') const sassMiddleware = require('node-sass-middleware') const server = connect.createServer( sassMiddleware({ /* Options */ src: __dirname , dest: __dirname + '/public' , debug: true , outputStyle: 'compressed' , prefix: '/prefix' // Where prefix is at <link rel="stylesheets" href="prefix/style.css"/> }), connect.static('/prefix', __dirname + '/public') );
There is an example connect app here: https://github.com/andrew/node-sass-example
Heavily inspired by https://github.com/LearnBoost/stylus
const express = require('express'); const sassMiddleware = require('node-sass-middleware'); const path = require('path'); const app = express(); app.use(sassMiddleware({ /* Options */ src: __dirname, dest: path.join(__dirname, 'public'), debug: true, outputStyle: 'compressed', prefix: '/prefix' // Where prefix is at <link rel="stylesheets" href="prefix/style.css"/> })); // Note: you must place sass-middleware *before* `express.static` or else it will // not work. app.use('/public', express.static(path.join(__dirname, 'public')));Connect with other middleware example
const connect = require('connect'); const sassMiddleware = require('node-sass-middleware'); const postcssMiddleware = require('postcss-middleware'); const autoprefixer = require('autoprefixer'); const path = require('path'); const http = require('http'); const app = connect(); const destPath = __dirname + '/public'; app.use(sassMiddleware({ /* Options */ src: __dirname , response: false , dest: destPath , outputStyle: 'extended' })); app.use(postcssMiddleware({ plugins: [ /* Plugins */ autoprefixer({ /* Options */ }) ], src: function(req) { return path.join(destPath, req.url); } })); http.createServer(app).listen(3000);
src
- (String) Source directory used to find .scss
or .sass
files.beepOnError
- Enable beep on error, false by default.
debug
- [true | false]
, false by default. Output debugging information.
dest
- (String) Destination directory used to output .css
files (when undefined defaults to src
).
error
- A function to be called when something goes wrong.
force
- [true | false]
, false by default. Always re-compile.
indentedSyntax
- [true | false]
, false by default. If true compiles files with the .sass
extension instead of .scss
in the src
directory.
log
- function(severity, key, val, message)
, used to log data instead of the default console.error
. "severity" matches Winston severity levels.
maxAge
- MaxAge to be passed in Cache-Control header.
prefix
- (String) It will tell the sass middleware that any request file will always be prefixed with <prefix>
and this prefix should be ignored.
response
- [true | false]
, true by default. To write output directly to response instead of to a file.
root
- (String) A base path for both source and destination directories.
For full list of options from original node-sass project go here.
const express = require('express'); const sassMiddleware = require('node-sass-middleware'); const path = require('path'); const winston = require('winston'); const app = express(); winston.level = 'debug'; app.use(sassMiddleware({ /* Options */ src: __dirname, dest: path.join(__dirname, 'public'), debug: true, log: function (severity, key, value) { winston.log(severity, 'node-sass-middleware %s : %s', key, value); } })); // Note: you must place sass-middleware *before* `express.static` or else it will // not work. app.use(express.static(path.join(__dirname, 'public')));
We <3 our contributors! A special thanks to all those who have clocked in some dev time on this project, we really appreciate your hard work. You can find a full list of those people here.
git clone git@github.com:sass/node-sass-middleware cd node-sass-middleware npm install npm testNote on Patches/Pull Requests
Copyright (c) 2013+ Andrew Nesbitt. See LICENSE for details.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4