Difference between revisions of "Node JS - Starting a new project"

From Logic Wiki
Jump to: navigation, search
(Created page with "Category:Node.js npm init")
 
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
[[Category:Node.js]]
 
[[Category:Node.js]]
  
−
  npm init
+
  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
 +
<pre>
 +
const EventEmitter = require('events');
 +
 
 +
class Logger extends EventEmitter{
 +
  log(message){
 +
    console.log(message);
 +
    this.emit('messgeLogged', {id:1, url:'http://'});
 +
  }
 +
}
 +
module.exports = Logger;
 +
</pre>
 +
app.js
 +
<pre>
 +
  const EventEmitter = require('events');
 +
  const Logger = require('./logger');
 +
  const logger = new Logger();
 +
 
 +
  logger.on('messageLogged', (arg) => {
 +
    console.log('Listener called ', arg);
 +
  });
 +
  logger.log('Message');
 +
 
 +
</pre>

Latest revision as of 13:37, 5 June 2020


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');