This is a series of posts that will illustrate the what, why and how of Node. I'll be sharing my learnings from a course on Advanced NodeJS by Samer Buna offered on PluralSight. Any code samples tagged or attached will be available at the following repo.
jscomplete
/
advanced-nodejs
For help, ask in #questions at slack.jscomplete.com
Node CLI and REPL
Node CLI comes with a variety of options to expose built-in debugging, multiple ways to execute scripts and other helpful runtime options.
Running a node command without any arguments starts a REPL.
R - Read
E - Eval
P - Print
L = Loop
When in REPL, you hit enter, it reads the command, executes it, prints the result and waits for the next command.
Helpful CLI Tips and Tricks
-
-c- Syntax check -
-p- Print Command. e.gnode -p "process.argv.slice(1) test 42"will print ['test', '42']
Helpful Repl Tricks and Tips
Autocomplete by
Tabrlwraputility to track reverse search.
NODE_NOREADLINE=1 rlwrap node
_is used to capture the last evaluated value.-
Special commands that begin with a
dot.-
.helpto print all such commands. -
.breakto break out of a multiline session. -
.loadto load external script file -
.saveto save current session
-
You can create your own repl with custom options by requiring a
replmodule and starting it with custom options. You can also control repl's global context in case of preloading a library of data.
Example below will start the repl in strict mode and doesn't print anything when result is undefined. Also, it will have lodash available globally.
const repl = require("repl");
const lodash = require("lodash");
let r = repl.start({
ignoreUndefined: true,
replMode: repl.REPL_STRICT_MODE
});
r.context.lodash = lodash;
Top comments (0)