# module-require

> Load modules, link modules to another module-names, manage access to custom / local scripts as modules

Latest version **1.4.5** (published 2015-03-26) · MIT license · 0 weekly downloads

## Install

```sh
npm install module-require
pnpm add module-require
yarn add module-require
bun add module-require
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.4.5 |
| Published | 2015-03-26 |
| First published | 2015-03-25 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | Sergiu Gordienco |
| Maintainers | sergiu-gordienco |
| Keywords | module, require, load, custom, manage, access, link, rename, map, mapping |

## Links

- npm: https://www.npmjs.com/package/module-require
- Repository: https://github.com/sergiu-gordienco/nodejs-module-require
- Issues: https://github.com/sergiu-gordienco/nodejs-module-require/issues
- npm.io page: https://npm.io/package/module-require

## Recent versions

- 1.4.5 (latest) — 2015-03-26
- 1.4.4 — 2015-03-26
- 1.4.3 — 2015-03-26
- 1.4.2 — 2015-03-25

## README

# nodejs-module-require

> nodejs-module-require is a custom module loader

returns a {function} that is loading classes and storing them in a object,
also giving some extra functionalities

## How to use:

```javascript
	var mrequire	= require("module-require");
```

### Loading express library

```javascript
	var express	= mrequire("express");
```

### Loading a custom module and use it with a short name

```javascript
	// loading module
	mrequire("myChoosedModuleName1", "http://www......./file.js");

	// use custom module
	var m1	= mrequire("myChoosedModuleName");
```
>	also can be used relative source "./file.js"

### Link a nodejs module with onother name

```javascript
	// link "express" server to "server-module"
	mrequire("server-module", "express");
	// Using renamed module
	var server	= mrequire("server-module");
```


### Prepare a nodejs custom module with a function

```javascript
	// prepare a express server instance and store it as mrequire("express-server");
	mrequire("express-server", function (mrequire, library) {
		// library is "express-server"
		var express = require('express');
		var cookieParser = require('cookie-parser');
		
		var app = express();
		app.use(cookieParser());

		app.get('/', function(req, res) {
			console.log("Cookies: ", req.cookies)
		});

		return app;
	});
	
	// using our server
	mrequire("express-server").get('/', function(req, res) {
		console.log("Cookies: ", req.cookies);
	});
	mrequire("express-server").listen(8080);
```


### Prepare a nodejs custom module constructor with a function

```javascript
	// prepare a express server instance and store it as mrequire("express-server");
	mrequire("express-server-builder", function (mrequire, library) {
		return function () {
			// library is "express-server"
			var express = require('express');
			var cookieParser = require('cookie-parser');
			
			var app = express();
			app.use(cookieParser());

			app.get('/', function(req, res) {
				console.log("Cookies: ", req.cookies)
			});

			return app;
		}
	});
	
	// build server-1 instance using our server builder
	mrequire("server-1", function (mrequire) {
		return mrequire("express-server-builder")();
	});

	// build server-2 instance using our server builder
	mrequire("server-2", function (mrequire) {
		return mrequire("express-server-builder")();
	});

	// user server 1
	mrequire("server-1").get('/', function(req, res) {
		console.log(" Server 1 » Cookies: ", req.cookies);
	});
	mrequire("server-1").listen(8080);


	// user server 2
	mrequire("server-2").get('/', function(req, res) {
		console.log(" Server 2 » Cookies: ", req.cookies);
	});
	mrequire("server-2").listen(8181);
```

---
_Source: https://npm.io/package/module-require · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
