Esportare moduli in Javascript

Esportare moduli in Javascript

Su praticamente qualsiasi linguaggio, siamo abituati ad includere moduli / librerie con istruzioni come include, import, require, ecc.

Su Javascript è possibile ottenere lo stesso risultato, ma in maniera un pò differente.

Prima di usare require, dobbiamo usare exports sul modulo da importare.

Quindi, supponiamo di avere un file che usiamo come configurazione della nostra applicazione:

// local.config.js

exports.config = {
    db_config: {
        host: 'HOST',
        port: 'PORT',
        db: 'DB_NAME'
    },
    server_port: 'PORT',
    collection: 'COLLECTION'
};

Come vedete è un file JS, dove usiamo exports.

A questo punto, nel nostro file main.js da dove parte il tutto, possiamo fare una cosa del genere:

var localConfig = require('./local.config');
var urlDb = 'mongodb://' + localConfig.config.db_config.host + ':' + localConfig.config.db_config.port + '/' + localConfig.config.db_config.db;

Mi raccomando al path del require:

var localConfig = require('local.config'); --> NO
var localConfig = require('./local.config'); --> SI

Il primo esempio non mi ha mai funzionato, anche se qualcuno dice che non cambia nulla.

Enjoy!