Creating a Node project
Initialising with npm init
We make a folder for our project:
mkdir health-tracker
cd health-trackerTo initialise a project inside the folder, you run npm init -y in the terminal:
npm init -yWrote to ~/Repos/health-tracker/package.json:
{
"name": "health-tracker",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}Running scripts with npm run
In package.json, you will notice a "scripts" key. This is where we can put terminal commands.
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"hello": "echo \"Hello, world!\"",
}Now, from anywhere in your project, you can open a terminal and run
npm run hello> health-tracker@1.0.0 hello
> echo "Hello, world!"
Hello, world!Installing packages with npm install
INFO
A package is just someone else's code that you download into your project. This code lives on the npm registry. Anybody can put a package on the registry, and anybody else can download it.
Let's download the mocha testing library so that we can run tests in our project.
npm install -D mochaadded 77 packages, and audited 78 packages in 3s
20 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilitiesTIP
The -D flag in this command installs mocha as a development dependency. That means, when we send our app to our customers, all the mocha code doesn't get sent to them.
When you're installing a package that is required to make the app actually work, don't put the -D flag.
Tracking with git
Finally, cd to the root of the project (the health-tracker directory) and run
git initInitialised empty Git repository in ~/Repos/health-tracker/.git/WARNING
After we did git init, the entire contents of the node_modules folder is also tracked. This is undesirable, as this code is available on the npm registry, and packages receive security updates over time.
Create a file called .gitignore (include the . at the front) and type node_modules at the top of the file. Make sure to save the file. Now, git will ignore the node_modules folder.
Once your .gitignore is made, feel free to run
git add .
git commit -am "initial commit"
[main (root-commit) 8f34434] initial commit
3 files changed, 933 insertions(+)
create mode 100644 .gitignore
create mode 100644 package-lock.json
create mode 100644 package.jsonto add and commit the new files.
Corndel