New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

re-require-module

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

re-require-module

Replacement for node.js require that that always reads the required module again from disk. It actually automatically uncaches it before requiring it again for you. This allows changes to become live without restarting node. It is like a simple hot requir

latest
Source
npmnpm
Version
1.0.2
Version published
Weekly downloads
9
200%
Maintainers
1
Weekly downloads
 
Created
Source

re-require-module

What is it?

Drop-in replacement for node.js require that always reads the required module again from disk. It actually automatically uncaches it before requiring it again for you. This allows changes to become live without restarting node. It is like a simple hot require. It is also similar to decache except it also does the require again part for you.

Why and when would I use this?

  • Are you tired of having to restart your node server everytime you make a change to your server code?
  • Is code (such as request handlers) in your modules usually pure functions?

If so, then re-require-module is an easy, simple and lightweight way for you to achieve 'hot' style code reloading.

The way re-require-module works is it just uncaches the module you give it, before returning what you'd usually get out of require. This way whatever change you make is always loaded at the point in code that you reRequire it.

When using it, the key thing to make it work is that, you must put the reRequire call somewhere where it will be called each time a request is made.

Also note that if your module has state inside, the state will be wiped out on reRequire.

Production Ready

You can actually leave your reRequire call in production. re-require-module detects that if in production mode, it will not reload code and will hit the disk only on the first reRequire call.

Install

npm install re-require-module --save

Example Usage

// app.js
var http = require('http');
var reRequire = require('re-require-module').reRequire;

var server = http.createServer(function(req, res) {
  // put reRequire in here so that a reRequire is made on each request
	reRequire('./handler').handleRequest(req, res);
});

server.listen(8080);

// handler.js
module.exports.handleRequest = function(req, res){
    res.end('Try editing this and refresh. No need to restart node!');
}

Trying out the example

  • Run the example:
node example/app
  • Open your browser to http://localhost:8080.
  • Try editing the text in handler.js
  • Refresh and see the changes immediately. No need to restart node.

Keywords

nodejs

FAQs

Package last updated on 29 Nov 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts