Node JS - Starting a new project

From Logic Wiki
Jump to: navigation, search


npm init --yes

installing NodeMon

npm i -g nodemon

install this package to avoid stop - start application on every change and instead of node start application with nodemon

Path

var pathObj = path.parse(__filename);


Template String in ES6

console.log(`Total Memory : ${totalMemory}`;

EventEmitter

const EventEmitter = require('events');
const emitter = new EventEmitter();
//Register a listener
emitter.on('messageLogged', function(){
 console.log('Listener called')
})
//Raise an event
emitter.emit('messageLogged');

listener registration must be done before it raised

if we want to pass event arguments we raise like

 emitter.emit('messageLogged', {id:1, url:'http://'});

and get it like

emitter.on('messageLogged', function(arg){ 

Better Usage

logger.js

 const EventEmitter = require('events');

class Logger extends EventEmitter{
  log(message){
    console.log(message);
    this.emit('messgeLogged', {id:1, url:'http://'});
  }
}
module.exports = Logger;

app.js

  const EventEmitter = require('events');
  const Logger = require('./logger');
  const logger = new Logger();

  logger.on('messageLogged', (arg) => { 
    console.log('Listener called ', arg);
  });
  logger.log('Message');