Last Updated: February 25, 2016
· usharf

Using a custom grunt task to start a node server, and watch

Grunt's server task starts a static server (very useful when developing single page apps), and is configured like this:

    server: {
       port: 3000,
       base: './public'

I can keep it running by using it with watch (must be the last, since it blocks).

grunt server watch

To have it start a Node app, instead of just serving static assets, I use a custom task:

grunt.registerTask('server', 'Start a custom web server', function() {
    grunt.log.writeln('Started web server on port 3000');

I then export it in app.js like this:

express = require('express');
app = module.exports = express();

2 Responses
Add your response

Thanks! Simple but good tip. :)

Btw check out <a href="">tiny-lr</a>. It allows you to setup a LiveReload server. Even though it's early in development it works very well already.

over 1 year ago ·

Thanks for this, nice and to the point i love it.

over 1 year ago ·