3.0.2 • Published 10 years ago

hot-reload v3.0.2

Weekly downloads
166
License
-
Repository
-
Last release
10 years ago

node-hot-reload

Utility code for watching source files for changes and reloading modules

Installation:

npm install hot-reload --global

Usage

Command Line Interface Usage

hot-reload [main-script]

Configuration

The hot-reload CLI will load its configuration from <cwd>/hot-reload.json. A sample configuration is shown below:

{
    "watch": [
        "config/",
        "src/",
        "init-app.js",
        "routes.js",
        "package.json"
    ],
    "logging-enabled": true,
    "plugins": {
        "hot-reload-uncache-modules": {
            "enabled": true,
            "uncache": "*" // Uncache all cached Node modules
        },
        "./hot-reload": {
            "enabled": true
        }
    }
}

Plugins

A plugin is implemented as a module that exports a function as shown in the sample plugin below:

var server = require('./server');
var nodePath = require('path');

module.exports = function(hotReload, config) {
    hotReload.specialReload(nodePath.join(__dirname, 'routes.js'), function(path) {
        hotReload.log('Reloading routes: ' + path);
        delete require.cache[path];
        server.reload();
    });

    hotReload.on('afterReload', function() {
        server.reload();    
    });
};

JavaScript API Usage

Example Usage:

require('hot-reload').create(require)
    .uncache("*")
    .uncacheExclude(__filename)
    .specialReload(path.join(__dirname, 'optimizer-config.xml'), initApp)
    .specialReload(path.join(__dirname, 'routes.js'), function(path) {
        delete require.cache[path];
        initApp();
    })
    .watch(path.join(__dirname, 'modules'))
    .watch(path.join(__dirname, 'optimizer-config.xml'))
    .watch(path.join(__dirname, 'routes.js'))
    .watchExclude("*.css")
    .onBeforeReload(function() {
        
    })
    .onAfterReload(function() {
        
    })
    .start();
3.0.2

10 years ago

3.0.1

10 years ago

3.0.0

10 years ago

1.4.3-beta

10 years ago

1.4.2-beta

10 years ago

1.4.1-beta

10 years ago

1.4.0-beta

10 years ago

1.3.2

10 years ago

1.3.1

10 years ago

1.3.0

10 years ago

1.2.15

11 years ago

1.2.14

11 years ago

1.2.13

11 years ago

1.2.12

11 years ago

1.2.10

11 years ago

1.2.9

11 years ago

1.2.8

11 years ago

1.2.7

11 years ago

1.2.6

11 years ago

1.2.5

11 years ago

1.2.4

11 years ago

1.2.3

11 years ago

1.2.2

11 years ago

1.2.1

11 years ago

1.2.0

11 years ago

1.1.0

11 years ago

1.0.0

11 years ago