include-modules

0.5.0 • Public • Published

English version

include-modules

A simple node module for easily include modules js or configuration files with format json that exist in separate files (make auto-require). This module return a JavaScript Object Literal that contain all modules and configuration files.

Changelog

  • This module was updated and now support auto-require from a single file.

Installation

$ [sudo] npm install include-modules --save

How to use

The following example attaches include-modules to a simple Node.JS app

#####Directory structure:

├── test/
│   ├── examples /
│   │   ├── default/
│   │   │   ├── plugins.json
│   │   ├── development/
│   │   │   ├── app.json
│   │   │   ├── test.js
│   │   ├── empty/
│   │   ├── others/
│   │   │   ├── LICENSE
│   │   │   ├── example.xml
│   │   │   ├── app.json
│   │   │   ├── test.js
│   │   │   ├── test.xml
│   ├── index.html

Auto-require multiple files

index.js

var load = require('include-modules');


/*
var paths = {
  'whatever name you'd like to use': 'relative folder path that contain the configuration files or modules',
  'whatever name you'd like to use': 'other relative folder path that contain the configuration files or modules'
}
*/

var paths = { 
  'development':'./examples/development',
  'default':'./examples/default',
  'others':'./examples/others',
  'foo':'./exampleTwo'
};


var modules = load.modules(paths, __dirname, "");

console.log(modules);

Run the app:

node index.js

gives the following output

{
    development: {
        app: {
            server: [Object],
            debug: true,
            plugins: [Object]
        },
        test: {
            uno: [Function],
            dos: [Function]
        }
    },
    default: {
        plugins: {
            good: true
        }
    },
    others: {
        one: {
            server: [Object],
            debug: false
        },
        two: {
            example: [Function],
            test: [Function]
        }
    },
    foo: {
        example: {
            foo: 'bar'
        }
    }
}

Auto-require single file

index.js

var load = require('include-modules');


/*
var paths = {
  'whatever name you'd like to use': 'relative folder path that contain the configuration files or modules',
  'whatever name you'd like to use': 'other relative folder path that contain the configuration files or modules'
}
*/

var paths = { 
  'single':'./examples/single',
};


var modules = load.modules(paths, __dirname, "example.json");

console.log(modules);

Run the app:

node index.js

gives the following output

{
    single: {
        example: {
            config: "data-example"
        }
    }
}


## Support

If you need help using include-modules, or have found a bug, please create an issue on the
<a href="https://github.com/davidenq/include-modules/issues" target="_blank">GitHub repo</a>.

## License

MIT Licence


Versión Español
=============

#include-modules

Un modulo para nodejs para incluir de forma fácil módulos js o archivos de configuración json que existen en archivos separados. Es decir, realizar autor require solo con indicar la ruta de las carpetas que contienen los módulos o archivos de configuración.
Este módulo devuelve un objecto literal Javascript el cual contiene los módulos y archivos de configuración.


## Installation
```bash
$ [sudo] npm install include-modules --save

¿Cómo usar?

A continuación se muestra un ejemplo sensillo de la ejecución del modulo.

#####Estructura de directorio:

├── test/
│   ├── examples /
│   │   ├── default/
│   │   │   ├── plugins.json
│   │   ├── development/
│   │   │   ├── app.json
│   │   │   ├── test.js
│   │   ├── empty/
│   │   ├── others/
│   │   │   ├── LICENSE
│   │   │   ├── example.xml
│   │   │   ├── app.json
│   │   │   ├── test.js
│   │   │   ├── test.xml
│   ├── index.html

index.js

var load = require('include-modules');


/*
var paths = {
  'whatever name you'd like to use': 'relative folder path that contain the configuration files or modules',
  'whatever name you'd like to use': 'other relative folder path that contain the configuration files or modules'
}
*/

var paths = { 
  'development':'./examples/development',
  'default':'./examples/default',
  'others':'./examples/others',
  'foo':'./exampleTwo'
};


var modules = load.modules(paths, __dirname);

console.log(modules);

Ejecturar:

node index.js

A la salida se obtiene:

{
    development: {
        app: {
            server: [Object],
            debug: true,
            plugins: [Object]
        },
        test: {
            uno: [Function],
            dos: [Function]
        }
    },
    default: {
        plugins: {
            good: true
        }
    },
    others: {
        one: {
            server: [Object],
            debug: false
        },
        two: {
            example: [Function],
            test: [Function]
        }
    },
    foo: {
        example: {
            foo: 'bar'
        }
    }
}

Soporte

Si necesitas ayuda usando el módulo include-modules, o si encuentras un bug, por favor créa un issue en GitHub repo.

Licencia

MIT Licence

Readme

Keywords

Package Sidebar

Install

npm i include-modules

Weekly Downloads

4

Version

0.5.0

License

MIT

Unpacked Size

13.2 kB

Total Files

14

Last publish

Collaborators

  • davidenq