In this post, let’s try to understand the importance of
index.js file in node.js
When you pass a folder to the node.js require module, it
first checks the package.json file to load the specific node.js file. If
package.json file is not located, then node checks for index.js, and finally
index.node
Let’s confirm this behavior using simple example.
Create new directory ‘indexDemo’.
Create a directory ‘myModels’ inside indexDemo directory.
Go to myModels and define package.json, models.js like
below.
package.json
{ "main" : "models.js" }
‘main’ attribute tell the main js file to be loaded, when
user specifies the directory myModels in require function.
models.js
function Employee(firstName, lastName, addr){ this.firstName = firstName; this.lastName = lastName; this.addr = addr; this.printInfo = function(){ console.log("firstName : " + this.firstName); console.log("lastName : " + this.lastName); this.addr.printInfo(); } } function Address(city, country){ this.city = city; this.country = country; this.printInfo = function(){ console.log("city : " + this.city); console.log("country : " + this.country); } } module.exports = { Employee : Employee, Address : Address }
Now create a file index.js in indexDemo directory.
index.js
models = require("./myModels") var Employee = models.Employee; var Address = models.Address; var addr = new Address("Bangalore", "India"); var emp = new Employee("Krishna", "Gurram", addr); emp.printInfo();
No go to the parent directory of indexDemo directory and
execute the command 'node indexDemo'. You can see below messages in console.
$>node indexDemo firstName : Krishna lastName : Gurram city : Bangalore country : India
No comments:
Post a Comment