Since you are already using npm, this is a great option because no additional tools to install and the configuration is easy. That said, it works best for small projects — when things get more complicated you will probably want Webpack for SPA’s or Rollup for libraries.
A couple of articles to get you started:
I have been using this method and really like it so far.
For a more advanced example that uses Javascript programs (via Node) to build your site, check out “You Might Not Need Gulp.js”.
Webpack is pretty amazing, both during development and when making your production build.
Often seen as a competitor to Webpack. It works really well when building a library (Facebook is now using it to build React), but Webpack is currently a better choice when making SPA’s.
Grunt is now irrelevant. It’s slow and the configuration is ugly. Do not use.
This is used by EmberJS. Suppose to be fast, but the document is terrible and not many examples outside of Ember.
This may now be more powerful than Grunt, but Webpack could make it obsolete.
Want something newer and shinier? Brunch could be the answer. Give this one a try—the documentation is very good.