Membuat API menggunakan framework Express
Membuat folder project
mkdir server-express
cd server-expressMenginisiasi project Node.js
npm init -y- package.json
Menginstall Express
npm install express- package.json
- package-lock.json
Membuat file index.js
touch index.jsbagi pengguna windows kalian bisa langsung saja membuat file baru pada visual studio code dengan nama file index.js.
- package.json
- package-lock.json
- index.js
const express = require('express')
const app = express()
const port = 3000
app.get('/', (req, res) => {
res.send('Hello World!')
})
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`)
})Menjalankan server
node index.jsatau kalian bisa menggunakan nodemon
npm install nodemon -Dlalu
nodemon index.jsMembuat file .gitignore
touch .gitignorelalu tambahkan
node_modulesatau
echo "node_modules" >> .gitignoreSeperti biasa, kalian bisa saja mengubah isi file package.json untuk menambahkan script start atau dev seperti contoh:
{
"name": "server-express",
"version": "0.0.7",
"description": "server using express.js",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node index.js",
"dev": "nodemon index.js"
},
"keywords": [
"nodejs",
"express"
],
"dependencies": {
"express": "^4.17.1"
},
"author": "icanq",
"license": "ISC"
}dimana untuk menjalankan server kalian bisa menggunakan npm start atau npm run dev
Penjelasan
Apabila kalian melihat pembuatan server dengan menggunakan Express dan membandingkannya. Perbandingan utama dengan menggunakan Express, kalian tidak perlu membuat server dengan menggunakan http.createServer dan server.listen. Karena Express sudah menyediakan fitur tersebut. Dan juga setiap kali kalian ingin menangani request, kalian tidak perlu menggunakan if (req.url === "/namaRutenya") dan req.methods === "HttpMethodsnya" seperti pada pembuatan server dengan menggunakan http.createServer. Karena Express sudah menyediakan fitur tersebut. Kalian hanya perlu menuliskan app.get atau app.post atau app.put atau app.delete dan lain-lain. Dan juga kalian tidak perlu menuliskan res.writeHead dan res.end seperti pada pembuatan server dengan menggunakan http.createServer. Karena Express sudah menyediakan fitur tersebut. Kalian hanya perlu menuliskan res.send atau res.json atau res.sendFile dan lain-lain.