Node.js Utility Module: The Util module in node.js provides access to various utility functions.
Syntax:
const util = require('util');
There are various utility modules available in the node.js module library. The modules are extremely useful in developing node-based web applications. Various utility modules present in node.js are as follows:
OS Module: Operating System-based utility modules for node.js are provided by the OS module.
Syntax:
const os = require('os');
Example:
// Require operating System module const os = require( "os" );
// Display operating System type console.log( 'Operating System type : ' + os.type());
// Display operating System platform console.log( 'platform : ' + os.platform());
// Display total memory console.log( 'total memory : ' + os.totalmem() + " bytes." );
// Display available memory console.log( 'Available memory : ' + os.availmem() + " bytes." );
|
Output:
Syntax:
const path = require('path');
Example:
// Require path const path = require( 'path' );
// Display Resolve console.log( 'resolve:' + path.resolve( 'paths.js' ));
// Display Extension console.log( 'extension:' + path.extname( 'paths.js' ));
|
Output:
Syntax:
const dns = require('dns');
Example:
// Require dns module const dns = require( 'dns' );
// Store the web address const website = 'www.geeksforgeeks.org' ;
// Call lookup function of DNS dns.lookup(website, (err, address, family) => { console.log( 'Address of %s is %j family: IPv%s' ,
website, address, family);
}); |
Output:
Address of www.geeksforgeeks.org is "203.92.39.72" family: IPv4
Net Module: Net Module in node.js is used for the creation of both client and server. Similar to DNS Module this module also provides an asynchronous network wrapper.
Syntax:
const net = require('net');
Example: This example contains the code for the server side.
// Require net module const net = require( 'net' );
const server = net.createServer( function (connection) {
console.log( 'client connected' ); connection.on( 'end' , function () {
console.log( 'client disconnected' );
});
connection.write( 'Hello World!\r\n' ); connection.pipe(connection);
}); server.listen(8080, function () {
console.log( 'server listening' );
}); |
Output:
Server listening
Example: This example is containing the client side in the net Module.
const net = require( 'net' );
const client = net.connect(8124, function () {
console.log( 'Client Connected' );
client.write( 'GeeksforGeeks\r\n' );
}); client.on( 'data' , function (data) {
console.log(data.toString());
client.end();
}); client.on( 'end' , function () {
console.log( 'Server Disconnected' );
}); |
Output:
Client Connected GeeksforGeeks Server Disconnected
Domain Module: The domain module in node.js is used to intercept unhandled errors. The interception can be performed by either:
- Internal Binding: Error emitter executes the code internally within the run method of a domain.
- External Binding: Error emitter is added explicitly to the domain using the add method.
Syntax:
const domain = require('domain');
The domain class in the domain module provides a mechanism for routing the unhandled exceptions and errors to the active domain object. It is considered to be the child class of EventEmitter.
Syntax:
const domain = require('domain'); const child = domain.create();
Example:
const EventEmitter = require( "events" ).EventEmitter;
const domain = require( "domain" );
const emit_a = new EventEmitter();
const dom_a = domain.create(); dom_a.on( 'error' , function (err) {
console.log( "Error handled by dom_a (" + err.message + ")" );
}); dom_a.add(emit_a); emit_a.on( 'error' , function (err) {
console.log( "listener handled this error (" + err.message + ")" );
}); emit_a.emit( 'error' , new Error( 'Listener handles this' ));
emit_a.removeAllListeners( 'error' );
emit_a.emit( 'error' , new Error( 'Dom_a handles this' ));
const dom_b = domain.create(); dom_b.on( 'error' , function (err) {
console.log( "Error handled by dom_b (" + err.message + ")" );
}); dom_b.run( function () {
const emit_b = new EventEmitter();
emit_b.emit( 'error' , new Error( 'Dom_b handles this' ));
}); dom_a.remove(emit_a); emit_a.emit( 'error' , new Error( 'Exception message...!' ));
|
Output: