Reputation: 15985
I want to go from this code in my index.js
app.use(require('sass-middleware').middleware({
src: path.resolve(__dirname, '../'),
dest: path.resolve(__dirname, '../public')
}));
app.use(require('browserify-dev-middleware')({
src: path.resolve(__dirname, '../'),
transforms: [require('jadeify')]
}));
to this:
app.use(require('asset-pipeline-dev-middelware'));
but I just don't know how to make the function that is passed in to app.use be a proxy for the other two middleware functions.
Something like this fills wrong, or is it fine?
require('asset-pipeline-dev-middelware')(app);
Upvotes: 2
Views: 87
Reputation: 15985
this also works because app.use
can handle arrays
// asset-pipeline-dev-middelware.js
var middleware1 = require('first-middleware')
var middleware2 = require('second-middleware')
module.export = [middleware1, middleware2];
// index.js
app.use(require('asset-pipeline-dev-middelware'));
Upvotes: 2
Reputation: 17498
You can group the middlewares like this:
//asset-pipeline-dev-middelware.js
var middleware1 = require('first-middleware')
var middleware2 = require('second-middleware')
function(req, res, next){
middleware1(req, res, function(err){
if(err) return next(err);
middleware2(req, res, next)
})
}
then use it in app just like you mentioned:
app.use(require('asset-pipeline-dev-middelware'));
Upvotes: 2