Membuat HTTP Server dengan NodeJS tanpa framework (Vanilla)
Untuk membuat server sederhana dengan NodeJS, kita tidak membutuhkan framework apapun. Kita hanya membutuhkan NodeJS dan pemahaman sedikit mengenai package.json
.
Membuat folder baru atau menggunakan folder yang sudah ada
mkdir server-vanilla
cd server-vanilla
Inisialisasi project
npm init --yes
lalu pasti akan muncul file package.json
yang berisi informasi mengenai project kita.
- package.json
dimana package.json
berisi informasi mengenai project kita buat.
{
"name": "server-vanilla",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
},
"keywords": [],
"author": "",
"license": "ISC"
}
Membuat file index.js
touch index.js
bagi pengguna windows kalian bisa langsung saja membuat file baru pada visual studio code dengan nama file index.js
.
- package.json
- index.js
Membuat server
const http = require('http');
const PORT = 3000;
const server = http.createServer((req, res) => {
res.end('Hello World')
});
server.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`)
})
Menjalankan server
node index.js
Membuka browser
Buka browser dan ketikkan localhost:3000
pada address bar, maka akan muncul tulisan Hello World
pada terminal.
Untuk kode lengkap dapat dilihat pada repository ini ↗ (opens in a new tab)
Kalian bisa menambahkan script start
pada package.json
untuk menjalankan server dengan perintah npm run start
.
{
"name": "server-vanilla",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node index.js"
},
"keywords": [],
"author": "",
"license": "ISC"
}
atau kalian juga bisa menggunakan nodemon ↗
(opens in a new tab) node package untuk monitor perubahan kode, sehingga server akan restart secara otomatis ketika ada perubahan kode.
dengan menginstall nodemon terlebih dahulu dengan perintah npm install nodemon --save-dev
dan mengubah script start
pada package.json
menjadi seperti berikut.
npm install nodemon --save-dev
{
"name": "server-vanilla",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "nodemon index.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"nodemon": "^2.0.7"
}
}