0.4.0 • Published 10 years ago

grunt-develop v0.4.0

Weekly downloads
763
License
-
Repository
github
Last release
10 years ago

grunt-develop Build Status

Run a Node.js application for development, with support for auto-reload.

Notes:

  • Requires Grunt >= 0.4.1 && Node.js >= 0.10.0
  • Does not provide a file-watch, grunt-contrib-watch is helpful here
  • No need to modify/export your server or alter your applications code
  • Non-blocking (the task completes immediately and the application will un in the background); Run as last task
  • Reloads cleanly the application when the task is called again, allowing for auto-reload.

Contributing

This project has a lot of active contributors and users. Please submit a test along with any changes made. Thanks!

Install

$ npm install grunt-develop

Basic Gruntfile.js Example

module.exports = function(grunt) {

  grunt.initConfig({
    develop: {
      server: {
        file: 'app.js',
        nodeArgs: ['--debug'],            // optional
        args: ['appArg1', 'appArg2']      // optional
        env: { NODE_ENV: 'development'}      // optional
      }
    }
  });

  grunt.loadNpmTasks('grunt-develop');

  grunt.registerTask('default', ['develop']);

};

Coffeescript App Example

You may also have develop automatically restart coffeescript based node applications by using the cmd option. This option allows the user to specify which command/executable to use when restarting the server.

module.exports = (grunt) ->

  grunt.initConfig
    develop:
      server:
        file: 'app.coffee'
        cmd: 'coffee'

  grunt.loadNpmTasks 'grunt-develop'

  grunt.registerTask 'default', ['develop']

A more complex Gruntfile.js

To support auto-reload on changes, for example:

module.exports = function(grunt) {

  grunt.initConfig({
    watch: {
      js: {
        files: [
          'app.js',
          'routes/**/*.js',
          'lib/*.js'
        ],
        tasks: ['develop'],
        options: { nospawn: true }
      }
    },
    develop: {
      server: {
        file: 'app.js'
      }
    }
  });

  grunt.loadNpmTasks('grunt-contrib-watch');
  grunt.loadNpmTasks('grunt-develop');

  grunt.registerTask('default', ['develop']);

};

The nospawn is required to keep the grunt context in which grunt-develop is running your application.

Then you can run grunt as the following and get automatic restart of the application on file changes:

$ grunt

You may add any other task in the watch, like JS linting, asset compiling, etc. and customize the watch to your needs. See grunt-contrib-watch.

License (MIT)

Copyright (c) 2013, Edward Hotchkiss.

Author: Edward Hotchkiss

Bitdeli Badge

0.4.0

10 years ago

0.3.0

10 years ago

0.2.2

11 years ago

0.2.1

11 years ago

0.2.0

11 years ago

0.1.1

11 years ago

0.1.0

11 years ago

0.0.4

11 years ago

0.0.3

11 years ago

0.0.2

11 years ago

0.0.1

11 years ago