Understanding package.json in Node.js

patchaya sonta
2 min readDec 8, 2024

--

The package.json file is essential for every Node.js project. It helps manage project information, dependencies, and scripts for running or testing your application.

1. What is package.json?

The package.json file:

  • Stores project details such as
    1. Name of the project (name)
    2. Version
    3. Scripts to run commands like starting a server or running tests
    4. Tracks dependencies (packages your project needs)
    5. Makes sharing and setting up the project on other devices easier

2. How to Create a package.json File?

Option 1: Create with a Command

Run the following command in your terminal:

npm init -y

This creates a default package.json file.

Example of a Default package.json File

{
"name": "my_project",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}

3. Adding Dependencies

To install a package for your project

npm install <package-name>

Example: Install lodash

npm install lodash

Updated package.json

{
"dependencies": {
"lodash": "^4.17.21"
}
}

Generated package-lock.json

{
"name": "my_project",
"version": "1.0.0",
"lockfileVersion": 1,
"dependencies": {
"lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-..."
}
}
}

4. Adding and Using Scripts

"scripts": {
"start": "node index.js"
}

5. package.json vs package-lock.json

6. Summary

  • The package.json file is the backbone of any Node.js project.
  • It tracks your dependencies, project details, and scripts.
  • The package-lock.json ensures stability by locking exact versions of dependencies.

With this understanding, you’re ready to kickstart your Node.js project. Happy coding! 😊

--

--

patchaya sonta
patchaya sonta

Written by patchaya sonta

I am a freelance developer specializing in website development and Google Sheets App Script development. https://webyourdream.com contact: gtpatchaya@gmail.com

No responses yet