Many of you guys requested us for NodeJS cheatsheets and here you go guys, this is an ultimate NodeJS cheatsheet.
In programs, the 'high level' scope is the global scope. That implies that in programs in case you're in the global scope 'var' something will characterize a global variable. In Node this is unique. The high level scope isn't the global scope; var inside a Node module will be neighborhood module to that module.
__filename
- The filename of the code being executed(absolute path)__dirname
- The name of the directory that the currently execcuting script resides in(absolute path. )process
- The process objecet is a global object and can be accessed from anywhere. It is an instance ofEvent Emitter
.
Modules
var module = require('./module.js');
- Loads the module.js in same directory.module.require('./another_moude.js');
- Loads another_module as ifrequire()
was called frmo the module itselfmodule.id;
- The identifier for the module. Typically this is the fully resolved filenamemodule.filename;
- The fully resolved filename to the modulemodule.loaded;
- Whether or not the module is done loading , or is in the process of loadingmodule.parent;
- The module that required this onemodule.children;
- The Module objects required by this one.
Path in NodeJS
Use require('path')
to use this module. This module contains utilities for handling and transforming file paths. Almost all these methods perform only string transformation. The file system is not consulted to check whether paths are ValidityState.
path.normalize(p);
- Normalize a string path, taking care of '..' and '.' parseInt.path.join([path1], [path2], [...]);
- Join all arguments together and normalize the resulting pathpath.resolve([from ...], to);
- Solve the relative path fromfrom
toto
.path.dirname(p);
- Return the directory name of a path. Similar to the Unix dirname command.path.basename(p, [ext]);
- Return the last portion of a path. Similar to the Unix basename command.path.extname(p);
- Return the extension of the path, from the last'.'
to end of string in the last portion of the path.path.sep;
- The platform-specific file separator.\\
or/
path.delimeter;
- The platform-specific path delimiter,';'
or':'
.
Process in NodeJS
process.on('exit', function(code) {});
- Emitted when the process is about ot exit.process.on('uncaughtException', functiion(err) {});
- Emitted when an exception bubbles all the way back to the event loopprocess.stdout;
- A writable stream to stdout.process.stderr;
- A writable stream to stderr.process.stdin;
- A readble sream for stdin.process.argv;
- An array containing the command line argumentsprocess.env;
- An object containing the user environment.process.execPath;
- This is the absolute of the executable that started the process.process.execArgv;
- This is the set of node-specific command line options form the executable that started the process.process.arch;
- What processor architecture you're running on 'arm', 'ia32' or 'x64'process.config;
- An object containing the JavaScript representation of the configure options that were used to compile the current node executable.process.pid;
- The PID of the processprocess.platform;
- What platform you're running on:darwin
,freebsd
, 'linux', 'sunos' or 'win32'.process.abort();
- This causes node to emit an AbortController. This will cause node to exit and generate a core file.process.chidr(dir);
- Changes the current working directory of the prcess or throws an exception if that fails.process.exit([code]);
- Ends the process with the specified code. If the omitted, exit uses the 'success' code 0.process.getgid();
- Gets the group identity of the process.process.setgid(id);
- Sets the group identity of the process.proces.setuid(id);
- Setss the group identity of the processprocess.getgroups(grps);
- Sets the supplementary group IDs.process.kill(pid, [signal]);
- Send a signal to a process.pid
is the process id and signal is the string describing the signal to send.process.memoryUsaage();
- Returns an object describing the memory usage of the Node process measured in Byte.process.uptime();
- Number of seconds Node has been running
HTTP in NodeJS
To use the HTTP server and client one must require('http').
http.STATUS_CODE;
- A collection of all the standard HTTP response status codes, and the short description of eachhttp.request(options, [callback]);
- This function allows one to transparently issue requestshttp.get(options, [callback]);
- Set the method to GET and callsreq.end()
automaticallyserver = http.createServer([requestListener]);
- Returns a new web server object. TherequestListener
is a function which is automatically added to therequest
eventserver.listen(path, [callback]);
- Start a UNIX socket server listening for connections on the given path.server.listen(handle, [callback]);
- The handle object an be set to either a server r socket (anything with an underlying _handle member), or a {fd:<n>
} object.server.close([callback]);
- Stops the server from accepting new connectionsserver.setTimeout(msecs, callback);
- Sets the timeout value for sockets and emits atimeout
event on the server object, passing the socket as an argument, it a timeout occurs.server.maxHeadersCount;
- Limits maximum incoming headers count, equal to 1000 by default. If set to 0 - no limit will be applied.server.timeout;
- The number of milliseconds of inactivity before a socket is presumed to havea timed outserver.on('request', function (request, response){});
- Emitted each time there is a requestserver.on('connection', function (socket) { });
- When a new TCP stream is establishedserver.on('close', function () { });
- Emitted when the server closesserver.on('checkContinue', function (request, response) { });
- Emitted eachn time a request with an http Expect: 100-continue is received.server.on('connect', function (request, socket, head) {});
- Emitted each time a client requests a httpCONNECT
method.server.on('upgrade', function (request, socket, head) {});
- Emitted each time a client requests a http upgrade.server.on('clientError', function (exception, socket) { });
- If a client connection emmits anerror
event - it will forwarded hererequest.write(chunk, [encoding]);
- Sends a chunk of bodyrequest.end([data], [encoding]);
- Finishes sending the requests. If any parts of the body are unsent, it will flush them to the stream.requests.abort();
- Aborts are requestsrequest.setTimeout(timeout, [callback]);
- Once a socket is assigned to this request and is connectsocket.setTimeout();
will be called.request.setNoDelay([noDelay]);
- Once a socket is assinged to this request and is connectedsocket.setNoDelay()
will be calledrequest.setSocketKeepAlive([enable], [initiateDelay]);
- Once a socket is assigned to this request and is connectedsocket.setKeepAlive()
will be calledrequest.on('socket', function(socket) {});
- Emitted after a soscket is assigned to this requestrequest.on('connect', function(response, socket, head) { });
- Emitted each time a server responds to a request with a CONNECT methods. If this event isn't being listened for, clients receiving a CONNECT method will have their connections closed.request.on('upgrade', function(response, socket, head) {});
- Emitted each time a server responds to a request with an upgrade. If this event isn't being listened for, clients receiving an upgraded header will have their connections closedresponse.write(chunk, [encoding]);
- This sends a chunk the response body. If this method is called andresponse.writeHead()
has not been called, it will switch to implicit header mode and flush the implicit headersresponse.writeHead(statusCode, [reasonPhrase], [headers]);
- Sends a response header to the requestresponse.setHeader(name, value);
- Sets a single header value for implicit headers. If this headers already exists in the to-be-sent headers, its value will be replaced. Use an array of strings here if you need to send multiples headers with the same name.response.removeHeader(name);
- Removes a header that's queud for implicit sendingreponse.end([data], [encoding]);
- This method signals to the server that all of the response headers and body havae been sent; that server should consider this mesage complete. The method,response.end()
, methis be called on eaach response.response.statusCode;
- When usinsg implicit headers (not callingresponse.writeHead()
explicitly), tis property controls the status code that will be sent to the client when the headers get flushedresponse.headersSent;
- Bolean (read-only). True if headers were sent false otherwiseresponse.sendDate;
- When true, the date header will be automatcally generated and sent in the reponse if it is not already present in the headers. Defaults are true.response.on('close', function() {});
- Indicates that the underlying connection was terminated beforeresponse.end()
was called or ableresponse.on('finish', function() {})
- Emitted when the response has been sentmessage.httpVersion;
- In case of server request, the HTTP version sent by the client. In the case of client response, the HTTP version of the connected to servermessage.headers;
- The request/response headers objectmessage.trailers;
- The request/response trailers object. Only populated after the 'end' eventmessage.method;
- The request method as a string. Read only. Example:GET
and 'DELETE'.message.url;
- Request URL string. This contains only the URL that is present in the actual HTTP requestmessage.statusCode;
- The 3 digit HTTP response status code. Ex: 404.message.socket;
- The net socket object associated with the connection.message.setTimeout(msecs, callback)
- Callsmessage.connection.setTimeout(msecs, callback)
-
URL
This module has utilities for URL resolution and parsing. Call require('url')
to use it.
url.parse(urlStr, [parseQueryString], [slashesDenoteHost]);
- Take a URL string and return an object.url.format(urlObj);
- Take a parsed URL object, and return a formatted URL string.url.resolve(from, to);
- Take a abse URL, and a href URL and resolve them as a browser would for an anchor tag.
OS in NodeJS
Provides a few basics operating systems related utility funtions. Use require('os')
to access this module.
os.tmpdir();
- Returns the operating system's default directory for temp filesos.hostname();
- Returns the hostname of the operating systemos.type();
- Returns the operating system nameos.platform();
- Returns the operating system platformos.arch();
- Returns the operating system CPU architectureos.release();
- Returns the operating system releaseos.uptime();
- Returns the system uptime in secondsos.totalmem();
- Returns the total amount of system memory in bytesos.freemem();
- Returns the total amount of free system memory in bytesos.cpus();
- Returns an array of objects containing information about each CPU/Core installed: model, speed (in mhz), and times (an object containing the number of milliseconds the CPU/code SPENT IN: USER, sys, idle and irq)os.networkInterfaces();
- Get a list of network interfaces
Buffer in NodeJS
Buffer is used to dealing with binary data. Buffer is similar to an arrayn of integers but corresponds to a raw memory allocation outside the V8 heap.
Buffer.from(size);
- Allocates a new buffer of size octetsBuffer.from(array);
- Allocates a new buffer using an array of octetsBuffer.from(str, [encoding]);
- Allocates a new buffer containing the given st. encoding defaults to 'utf8'Buffer.isEncoding(encoding);
- Returns true if the encoding is a valid encoding argument or false otherwiseBuffer.isBuffer(obj);
- Tests if obj is a bufferBuffer.concat(list, [totalLength]);
- Returns a buffer which is the result of concatening all the buffers in the list togetherBuffer.byteLength(string, [encoding]);
- Gives the acutal bybte length of stringBuffer.toString([encoding], [start], [end]);
- Decodes and returns a string from buffer data encoded with encoding (defaults to 'utf8') beginning at start (defaults to 0) and ending at end (defaults tobuffer.length
)
Assert in NodeJS
This module is used for writing unit tests for your applications, you can access it with require('assert')
.
assert.fail(actual, expected, message, operator);
- Throws an exception that displays the values for actual and expected separated by the provided operatorassert(value, message); asset.ok(value, [message]);
- Tests id value is truthy, it is equivalent toassert.equal(true, !!value, message)
.assert.equal(actual, expected, [message]);
- Tests shallow, coercive equality with the equal comparison operator( == )
.assert.notEqual(actual, expected, [message]);
- Tests shallow, coercive non-quality with the not eual comparison operatorassert.deepEqual(actual, expected, [message]);
- Tests for deep equalityassert.notDeepEqual(actual, expected, [message]);
- Tests for any deep inequalityassert.strictEqual(actual, expected, [message]);
- Tsts strict equality, as determined by the strict equality operatorassert.notStrictEqual(actual, expected, [message]);
- Tests strict non-quality as determined by the strict not equal operatorassert.throws(block, [error], [message]);
- Tests strict non-equality as determined by the strict not equal operatorassert.doesNotThrow(block, [message]);
- Expects block not to throw an error, seeassert.throws
for detailsassert.ifError(value);
- Tests if value is not a false value, throws if it is a true value. Useful when testing the first argument, error in callbacks.
Query String
This module provides utilities for dealing with query strings. Call require('querystring')
to use it.
querystring.stringify(obj, [sep], [eq]);
- Serialize an object to a query string. Optinally override the default separator ('&') and assignment ('=') characters.querystring.parse(str, [sep], [eq], [options]);
- Deserialize a query string to an object. Optionally override the default separator ('&') and assignment ('=') characters.
We would like thank many people who have contributed this article and the offical NodeJS website, if you have anything to add here please comment it down. If you find any mistakes here please let us know, thanks for reading.