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-vanillaInisialisasi project
npm init --yeslalu 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.jsbagi 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.jsMembuka 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"
}
}