In this segment, you will learn about the require keyword, using which we will import the functions that we had exported in the previous segment.
In the last video, you learnt about the require keyword which refers to a function which is used to import all the exported variables and functions. You also learnt that this function takes an argument which can be an ID or a path. In the next video, you will learn about different types of paths.
Let's now go back to the require function and learn more about it in the next video.
In the video above, you saw how we used the functions that we exported from the circle.js module in the app.js module.
The code that you looked at in the last video is as follows:
circle Module:
const PI = 3.14; const calculateArea = r => PI * r * r; const calculateCircumference = r => 2 * PI * r; module.exports.calculateArea = calculateArea; module.exports.calculateCircumference = calculateCircumference;
app Module:
const circle = require('./circle.js'); const area = circle.calculateArea(8); const circumference = circle.calculateCircumference(8); console.log(`Area = ${area}, Circumference = ${circumference}`);
Output:
Area = 200.96; Circumference = 50.24
In the next video, we will see what happens if we try to access the variable named PI.
You saw that initially when you tried to access the variable PI, you got an output like this:
pi = undefined
This was because you had not exported the variable PI.
After that, you exported the variable named PI from the circle module and stored it in the key lifeOfPi, and then, when you tried to access it using the same key, you were able to do so and got the output as expected.
The code that you looked at in the last video is as follows:
circle Module:
const PI = 3.14; const calculateArea = r => PI * r * r; const calculateCircumference = r => 2 * PI * r; module.exports.calculateArea = calculateArea; module.exports.calculateCircumference = calculateCircumference; module.exports.lifeOfPi = PI;
app Module:
const circle = require('./circle.js'); const area = circle.calculateArea(8); const circumference = circle.calculateCircumference(8); console.log(`Area = ${area}, Circumference = ${circumference}`); const pi = circle.lifeOfPi; console.log(`pi = ${pi}`);
Output:
Area = 200.96, Circumference = 50.24 pi = 3.14
In this segment, you learnt the following:
1. The require keyword refers to a function that is used to import all the variables and functions exported using module.exports in another module. In short, if a file wants to import something, it has to declare it using the following syntax:
require('file')
2. A path can be represented in two formats: absolute path and relative path. An absolute path is an exact path followed, whereas a relative path is a path relative to the current file. An absolute path is optionally prepended with a forward slash (/), whereas a relative path is prepended with a dot (.).
3. While exporting something from a module, you can use any valid identifier. It is not mandatory to match the name of the variable/function while exporting it.
So far, you have learnt two keywords: module, which is an object, and require, which is a function. In the next segment, you will learn some interesting facts related to these two keywords. You will learn how you can export and import modules in different ways.
Additional References:
Everything you should know about 'module' & 'require' in Node.js