Difference between revisions of "Node JS - Starting a new project"
From Logic Wiki
(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');