×
Clear all filters including search bar
Valeri Tandilashvili's Node Notes
const EventEmitter = require('events');
class Logger extends EventEmitter {
log(message) {
// Log the message
console.log(message);
// Raise an event
this.emit('messageLogged', { id: 1, url: 'http://' });
}
}
module.exports = Logger;
Content of the index fileconst Logger = require('./logger');
const logger = new Logger();
// Register a listener
logger.on('messageLogged', function(arg) {
console.log('Listener called', arg);
});
logger.log('message');
messageLogged
and passes the object as an argumentconst EventEmitter = require('events');
const emitter = new EventEmitter();
// Register a listener
emitter.on('messageLogged', function(obj) {
console.log('Listener called', obj);
});
// Raise an event & passes the object
emitter.emit('messageLogged', {key1: 'Value 1', key2: 'Value 2'});
messageLogged
and passes parametersconst EventEmitter = require('events');
const emitter = new EventEmitter();
// Register a listener
emitter.on('messageLogged', function(arg1, arg2) {
console.log('Listener called', arg2, arg1);
});
// Raise an event
emitter.emit('messageLogged', 'arg-first', 'arg-second');
messageLogged
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');
const fs = require('fs')
// With Sync function
let files = fs.readdirSync('./')
console.log(files)
Reads the current directory asynchronouslyconst fs = require('fs')
// With Async function
fs.readdir('./', function(err, files){
if (err) {
console.log('Error', err)
} else {
console.log(files)
}
})
logger.js
file exports object which contains only the log()
function. Content of the logger.js
file:function log(message) {
console.log(message)
}
module.exports.log = log
The log()
function is called in the index.js
file:const logger = require('./logger')
logger.log('some text')
logger.js
file exports log()
function. Content of the logger.js
file:function log(message) {
console.log(message)
}
module.exports = log
The log()
function is called in the index.js
file:const log = require('./logger')
log('some text')
.js
file is a module
itself, which contains important information about the file. If we console.log(module)
, it will print the following object:Module {
id: '.',
path: '/home/runner/xrfnkv6ixs',
exports: {},
parent: null,
filename: '/home/runner/xrfnkv6ixs/index.js',
loaded: false,
children: [],
paths: [
'/home/runner/xrfnkv6ixs/node_modules',
'/home/runner/node_modules',
'/home/node_modules',
'/node_modules'
],
_compile: [Function]
}
exports
key includes the content (variable / function / object) that's going to be publicly available for other modules
filename
key is equal to the module file location
...