The downside of this approach is all of the bootstrapping for running and developing your project is now a new environment on the server side. Don't forget that all of this tech carries a lot of mass and now you're having to maintain a number of different tools!
If this is an open source project, you just went from:
python -m SimpleHTTPServer || open index.html
To:
npm install && grunt build && grunt run
... And now as a person wanting to work on your code I have a whole slew of new tools to learn!
It's not always as cut and dry of a decision...