Introduction to Node.js
For this lesson, you must have Node.js installed. We will write our codes in a file called intro.js
console.log("Hello Node.js!")
Now we can run the javascript by typing the following in the terminal:
$ node intro.js
Hello Node.js!
Next, let's define a variable and print that out.
let message = "Hello world from the Node.js";
console.log(message);
Note that you can omit the .js
from the filename when running node
command:
node intro
Hello world from the Node.js
Here the console
is a global variable and it is available to us without importing or requiring any class
. There are several other global variables like __dirname
or `__filename
console.log(__dirname);
console.log(__filename);
/Users/Pranab/Documents/github/js-learning/src/node
/Users/Pranab/Documents/github/js-learning/src/node/intro.js
We can import external modules by using require
. Let's say we import the path
module which ships with the Node.js ans load that into a variable called path
. Then we try to extract just the filename using a path method.
const path = require('path');
console.log(`The file name is : ${path.basename(__filename)}`);
The file name is : intro.js
Note that for template strings back tics are used instead of single/double quotes.
Another important global object is process
.
console.log(process.pid);
console.log(process.versions.node);
89046
12.16.2
process.argv
to pass arguments:
console.log(process.argv);
[
'/usr/local/bin/node',
'/Users/Pranab/Documents/github/js-learning/src/node/intro'
]
So when we run our program by typing node intro
, we are simply passing a array. We can pass more variables:
node intro hello "pranab das"
[
'/usr/local/bin/node',
'/Users/Pranab/Documents/github/js-learning/src/node/intro',
'hello',
'pranab das'
]
Now we can create flags
to pass more arguments to any command.
node intro --user "pranab das" --greeting hello
[
'/usr/local/bin/node',
'/Users/Pranab/Documents/github/js-learning/src/node/intro',
'--user',
'pranab das',
'--greeting',
'hello'
]
const grab = flag => {
let indexAfterFlag = process.argv.indexOf(flag) + 1;
return process.argv[indexAfterFlag];
}
const greeting = grab("--greeting");
const user = grab("--user");
console.log(greeting, user);
node intro --user "pranab das" --greeting hello
hello pranab das