hot-reloading-proxy

1.0.4 • Public • Published

Hot-reloading-proxy

Inspired from https://github.com/JJJYY/http-live-server

When developping html page, you often want to reload your browser every time a page is modified.

Some great solutions exists, but often, they implies to use their own webserver or to server modified pages.

This solution propose to place an independant proxy between your 'official' server (--remote option) and your browser. This proxy will inject some code in each 'text/html' page that flow by, to enable them with hot reloading capabilities.

To select when to reload, the server himself will watch local files (--watch and --ignore options).

That's all!

Install

With local install from npmjs:

    npm install -D hot-reloading-proxy

With global install

    npm install -g hot-reloading-proxy

Run

With local install, in a package.json script

    scripts: {
        # Default config
        "watch": "hot-reloading-proxy"
 
        # Advanced config
        "watch": "hot-reloading-proxy --remote http://localhost:3000 --watch ."
    }

With global install

    hot-reloading-proxy --remote http://localhost:3000 --watch .

Configure

In default config, the hot-reloading-proxy will remote localhost on port 3000, and watch for all files except "node_modules" folder.

Other options:

option description default value
--remote the remote host to be proxied http://localhost:3000
--port the port on which the service is available 3001
--watch (once or multiple times)
set the folders to be watched
.
--ignore (once or multiple times)
set some folders to be ignored in the watch list
'node_modules'
--verbose increase verbosity -
--quiet reduce verbosity -

Use it as a module

#!/usr/bin/env node
/* eslint-env node */
 
const hotReloadingProxy = require('hot-reloading-proxy/server');
 
hotReloadingProxy.start({
    port: 3000,
    remote: 'http://localhost:3001'
});
 
/* and now, do your own stuff, like starting your own server on 3001 */
/* example: call you original server.js: require('./server.js') */

The start take options:

wsPath: 
watch: array of path to watch for
ignore:

Changelog

v1.0.2: - Enable using hot-reloading-proxy as a module - Dev: factorize the default configuration

Package Sidebar

Install

npm i hot-reloading-proxy

Weekly Downloads

6

Version

1.0.4

License

MIT

Unpacked Size

12.4 kB

Total Files

10

Last publish

Collaborators

  • jehon