NodeJS avanzado

Pequeños conceptos

Para saber si un script se está ejecutando diréctamente y no como módulo require.main se asigna como su propio módulo:

if (require.main === module) {
    // código main
}

Podemos asignar los parámetros por defecto del script haciendo:

// Definición global de una variable
var SYMBOLS_DEFAULT = ["GOOG", "FB", "AAPL", "YHOO", "MSFT", "LNKD", "CRM"];
// ...
// Una función que recibe los símbolos como parámtro
var marketResearch = function(symbols, columns, csvfile, headers) {
    symbols = symbols || SYMBOLS_DEFAULT;
    // ...
};
if(require.main == module) {
    var symbols = process.argv;
    // ...