Tutorial Node.js - Panduan Lengkap Untuk Pemula



Tutorial Node.js ini akan membahas tentang arsitektur dasar, cara kerja dan berbagai modul Node.js. Ini juga akan mendemonstrasikan implementasi praktis Node.js dan Express.js.

Jika Anda pernah mendengar tentang Node.js maka Anda mungkin tahu bahwa itu adalah salah satu kerangka kerja JavaScript yang paling menonjol dan kuat. Sejak dirilis, ia terus mempertahankan cengkeramannya di pasar TI. Bahkan dengan pengenalan baru dan bersemangat Suka , , Meteor dll, popularitas Node.js sepertinya tidak pernah berhenti. Bingung kenapa? Nah, dengan bantuan Tutorial Node.js ini, saya akan memberi Anda wawasan lengkap tentangnya. Jadi, bersiaplah untuk jatuh cinta dengan Node.js.

Dalam Tutorial Node.js ini, saya akan membahas topik-topik di bawah ini:





Apa itu Node.js?

Node.js adalah kerangka kerja yang kuat yang dikembangkan Mesin JavaScript V8 Chrome yang mengompilasi JavaScript langsung ke dalam kode mesin asli. Ini adalah kerangka kerja ringan yang digunakan untuk membuat aplikasi web sisi server dan memperluas API JavaScript untuk menawarkan fungsionalitas sisi server yang biasa. Ini umumnya digunakan untuk pengembangan aplikasi skala besar, terutama untuk situs streaming video, aplikasi satu halaman, dan aplikasi web lainnya. Node.js membuat penggunaan model I / O non-pemblokiran berbasis peristiwa yang menjadikannya pilihan yang tepat untuk aplikasi real-time intensif data.

Seperti bahasa pemrograman lainnya, node.js menggunakan paket dan modul. Ini adalah pustaka yang berisi berbagai fungsi dan diimpor dari npm (manajer paket node) ke dalam kode kami dan digunakan dalam program. Beberapa fitur utama yang mendefinisikan Node.js tercantum di bawah ini:



Fitur Node.js

  1. Sumber Terbuka
    Node.js adalah lisensi MIT kerangka kerja sumber terbuka yang didukung oleh komunitas besar. Komunitasnya yang cukup aktif telah berkontribusi untuk menambah kemampuan baru pada aplikasi Node.js.
  2. Sederhana dan Cepat
    Karena Node.js dibuat di Mesin JavaScript V8 Google Chrome, pustaka-nya mampu menjalankan kode dengan cepat.
  3. Asinkron
    Semua pustaka Node.js bersifat asinkron yang berarti server berbasis Node.js tidak pernah menunggu API untuk mengirim kembali respons dan beralih ke API berikutnya.
  4. Skalabilitas Tinggi
    Karena mekanisme peristiwa, Node.js sangat skalabel dan membantu server dalam respons non-pemblokiran.
  5. Berulir Tunggal
    Dengan bantuan event looping, Node.js dapat mengikuti model single-threaded. Ini memungkinkan satu program untuk menangani banyak permintaan.
  6. Tidak Ada Buffering
    Salah satu fungsi utama aplikasi Node.js adalah tidak pernah menyangga data apa pun.
  7. Lintas Platform
    Node.js dapat dengan mudah dibangun dan digunakan di berbagai platform seperti Windows, MAC, dan Linux.

Sekarang mari kita maju lebih jauh dan melihat cara menerapkan kode sebenarnya di browser. Tetapi sebelum itu, Anda perlu mengunduh dan menginstal di sistem Anda. Anda bisa merujuk artikel saya yang lain untuk mengetahui selengkapnya Proses instalasi Node.js. .

Jadi sekarang, mari melangkah lebih jauh dalam Tutorial Node.js ini, di mana saya akan berbicara tentang komponen terpenting dari Node.js yaitu, npm.

NPM (Manajer Paket Node)

NPM adalah singkatan dari Node Package Manager yang seperti namanya adalah manajer paket untuk paket / modul Node.js. Dari Node versi 0.6.0. dan seterusnya, npm telah ditambahkan sebagai default di instalasi node. Ini menyelamatkan Anda dari kerumitan menginstal npm secara eksplisit.



NPM pada dasarnya membantu dalam dua cara:

c ++ fibonacci rekursif
  1. Menyediakan dan menghosting repositori online untuk paket / modul node.js yang dapat dengan mudah diunduh dan digunakan dalam proyek kami. Anda dapat menemukannya di sini: npmjs.com
  2. Menyediakan utilitas baris Perintah untuk menginstal berbagai paket Node.js, mengelola versi Node.js, dan dependensi paket.

Tetapi sekarang, Anda pasti bertanya-tanya apa sebenarnya modul-modul ini dan bagaimana mereka membantu kami dalam membangun aplikasi Node.js. Nah, di bagian selanjutnya dari tutorial Node.js ini, saya akan memberi Anda wawasan lengkap tentang modul Node.js.

Modul Node.js

Modul di Node.js mewakili berbagai fungsi yang digabungkan menjadi satu atau beberapa file JS. Modul ini memiliki konteks yang unik, sehingga tidak pernah mengganggu atau mencemari ruang lingkup modul lain.

Modul-modul ini memungkinkan penggunaan kembali kode dan meningkatkan kemudahan penggunaan. Node.js pada dasarnya menyediakan tiga jenis modul:

  1. Modul Inti
  2. Modul Lokal
  3. Modul Pihak Ketiga

Modul Inti

Karena Node.js sangat ringan kerangka kerja, modul inti menggabungkan fungsionalitas minimum absolut. Modul-modul ini biasanya dimuat ketika proses Node memulai eksekusinya. Yang perlu Anda lakukan hanyalah, mengimpor modul inti ini untuk menggunakannya dalam kode Anda.

Di bawah ini saya telah membuat daftar beberapa modul Inti penting.

Modul Inti Deskripsi
http Berisi kelas, metode, dan peristiwa yang diperlukan untuk membuat server HTTP Node.js
url Berisi metode untuk resolusi dan penguraian URL di Node
querystring Berisi metode untuk menangani string kueri Node
jalan Berisi metode untuk menangani jalur file
fs Berisi kelas, metode, dan acara untuk bekerja dengan file I / O
Berguna Berisi fungsi utilitas yang dapat berguna bagi pemrogram

Anda dapat memuat modul inti Anda, menggunakan kode di bawah ini:

var module = membutuhkan ('module_name')

Sekarang mari kita lihat, apa itu 'modul lokal'.

Modul Lokal

Modul lokal Node.js adalah modul khusus yang dibuat secara lokal oleh pengguna / pengembang dalam aplikasi. Modul ini dapat mencakup berbagai fungsi yang dibundel ke dalam file dan folder berbeda yang dapat dengan mudah didistribusikan di komunitas Node.js menggunakan NPM.

Modul ini dimuat dengan cara yang mirip dengan modul inti. Mari tunjukkan kepada Anda, bagaimana melakukannya dengan menggunakan contoh dasar.

Buat file module.js khusus / lokal Anda

var detail = {name: function (name) {console.log ('Name:' + name)}, domain: function (domain) {console.log ('Domain:' + domain)}} module.exports = detail

Sertakan file modul Anda dalam file aplikasi utama Anda.

var myLogModule = membutuhkan ('./ Local_module.js') myLogModule.name ('Edureka') myLogModule.domain ('Education')

Sekarang Anda dapat menjalankan file-file ini menggunakan perintah di bawah ini:

node application.js

Izinkan saya sekarang menunjukkan kepada Anda apa itu modul eksternal.

Modul Eksternal

Anda dapat menggunakan eksternal atau 3rdmodul pesta hanya dengan mengunduhnya melalui NPM. Modul ini umumnya dikembangkan oleh pengembang lain dan gratis untuk digunakan. Beberapa modul eksternal terbaik adalah express, react, gulp, luwak, mocha dll.

Memuat modul pihak ketiga secara global:

npm install --g

Sertakan file modul Anda dalam file aplikasi utama Anda:

npm install --save

File JSON

Itu package.json file di Node.js adalah jantung dari seluruh aplikasi. Ini pada dasarnya adalah file manifes yang berisi metadata proyek. Dengan demikian, memahami dan bekerja dengan file ini menjadi sangat penting untuk pengembangan proyek Node yang sukses.

File package.json umumnya terdiri dari metadata aplikasi, yang selanjutnya dikategorikan ke dalam dua kategori di bawah ini:

  1. Mengidentifikasi properti metadata: Ini terdiri dari properti seperti nama proyek, versi modul saat ini, lisensi, penulis proyek, deskripsi proyek, dll.
  1. Menulis langsung ke file: Anda dapat langsung menulis informasi yang diperlukan ke dalam file package.json dan memasukkannya ke dalam proyek Anda.

Sekarang Anda telah membiasakan dengan berbagai komponen aplikasi Node JS. Di bagian selanjutnya dari Tutorial Node.js ini, saya akan membagikan beberapa dasar Node Js sehingga kita dapat memulai dengan langsung.

Dasar Node.js

Karena Node.js adalah kerangka JavaScript, ia menggunakan sintaks JavaScript. Jika Anda ingin mempelajari JavaScript secara detail, Anda dapat merujuk ke ini . Untuk saat ini, saya akan menyikat Anda dengan beberapa dasar Node.js seperti:

Jenis Data

Seperti bahasa pemrograman lainnya, Node.js memiliki berbagai tipe data, yang selanjutnya dikategorikan ke dalam tipe data Primitif dan Non-Primitif.

Tipe Data Primitif adalah:

  1. Tali
  2. Jumlah
  3. Boolean
  4. Batal
  5. Tidak terdefinisi

Jenis Data Non-Primitif adalah:

cara membuat aplikasi tenaga penjualan
  1. Obyek
  2. Tanggal
  3. Himpunan

Variabel

Variabel adalah entitas yang memiliki nilai yang dapat bervariasi selama program berlangsung. Untuk membuat variabel di Node.js, Anda perlu menggunakan kata kunci var yang dipesan. Anda tidak perlu menetapkan tipe data, karena kompilator akan mengambilnya secara otomatis.

Sintaksis:

var varName = nilai

Operator

Node.js mendukung operator di bawah ini:

Jenis Operator Operator
Hitung +, -, /, *,%, ++, -
Tugas =, + =, - =, * =, / =,% =
Bersyarat =?
Perbandingan ==, === ,! = ,! ==,>,> =,<, <=,
Logis &&, || ,!
Bitwise &, |, ^, ~,<>, >>>

Fungsi

Fungsi di Node.js adalah blok kode yang memiliki nama dan ditulis untuk mencapai tugas tertentu. Anda perlu menggunakan fungsi kata kunci untuk membuatnya. Suatu fungsi umumnya merupakan proses dua langkah. Pertama adalah mendefinisikan fungsi dan yang kedua adalah memanggilnya. Di bawah ini adalah sintaks untuk membuat dan menjalankan sebuah fungsi:

Contoh:

// Mendefinisikan fungsi fungsi display_Name (firstName, lastName) {alert ('Hello' + firstName + '' + lastName)} // Memanggil fungsi display_Name ('Park', 'Jimin')

Objek

Objek adalah tipe data non-primitif yang dapat menampung banyak nilai dalam hal properti dan metode. Objek Node.js adalah entitas yang berdiri sendiri karena tidak ada konsep kelas. Anda dapat membuat objek dengan dua cara:

  1. Menggunakan Object literal
  2. Menggunakan konstruktor Objek

Contoh:

// objek dengan properti dan metode var employee = {// properti firstName: 'Minho', lastName: 'Choi', usia: 35, gaji: 50000, // metode getFullName: function () {return this.firstName + '' + this.lastName}}

Berkas sistem

Untuk mengakses sistem file fisik, Node.js menggunakan fs modul yang pada dasarnya menangani semua operasi I / O file asinkron dan sinkron. Modul ini diimpor menggunakan perintah di bawah ini:

var fs = membutuhkan ('fs')

Beberapa penggunaan umum modul Sistem File adalah:

  • Baca file
    1. fs.readFile ()
var http = membutuhkan ('http') var fs = membutuhkan ('fs') http.createServer (fungsi (req, res) {fs.readFile ('script.txt', function (err, data) {res.writeHead ( 200, {'Content-Type': 'text / html'}) res.write (data) res.end ()})}). Dengar (8080)
  • Buat file
    1. appendFile ()
    2. Buka()
    3. writeFile ()
  • Perbarui file
    1. fs.appendFile ()
    2. fs.writeFile ()
  • Hapus file
    1. fs.unlink ()
  • Ganti nama file
    1. fs.rename ()

Jadi, dengan perintah ini, Anda dapat melakukan hampir semua operasi yang diperlukan pada file Anda. Sekarang mari melangkah lebih jauh dengan Tutorial Node.js ini dan melihat apa itu Peristiwa dan bagaimana penanganannya di Node.js.

Acara

Seperti yang telah saya sebutkan, aplikasi Node.js adalah single threaded dan event-driven. Node.js mendukung konkurensi karena didorong oleh peristiwa, dan karenanya menggunakan konsep seperti peristiwa dan callback. Panggilan fungsi asinkron membantu Node.js dalam mempertahankan konkurensi di seluruh aplikasi.

Pada dasarnya, dalam aplikasi Node.js, ada loop utama yang menunggu dan mendengarkan kejadian, dan setelah kejadian apapun selesai, itu segera memulai fungsi panggilan balik.

Diagram di bawah ini menunjukkan bagaimana peristiwa didorong di Node.js.

Model Benang - Tutorial Node.js - Edureka

Satu hal yang harus Anda perhatikan di sini adalah, meskipun peristiwa terlihat mirip dengan fungsi callback tetapi perbedaannya terletak pada fungsinya. Ketika fungsi asynchronous mengembalikan hasilnya, callback dipanggil di sisi lain, penanganan kejadian sepenuhnya bekerja pada pola pengamat. Dan di Node.js, metode yang mendengarkan kejadian disebut pengamat. Saat, suatu peristiwa dipicu, fungsi pendengarnya secara otomatis mulai dijalankan. Modul acara dan kelas EventEmitter menyediakan beberapa kejadian built-in yang digunakan untuk mengikat kejadian dengan pemroses kejadian. Di bawah ini saya telah menuliskan sintaks untuk itu.

Mengikat Acara ke Pemroses Acara

// Import event module var my_Events = require ('events') // Buat objek eventEmitter var my_EveEmitter = new my_Events.EventEmitter ()

Mengikat Penangan Peristiwa ke Peristiwa

// Binding event dan event handler my_EveEmitter.on ('eventName', eventHandler)

Memecat Acara

// Aktifkan acara my_EveEmitter.emit ('eventName')

Sekarang mari kita coba menerapkan hal-hal yang telah saya bahas di bagian Acara Node.js ini.Kode di bawah ini menunjukkan representasi sederhana dari eksekusi Event di Node.js.

var emitter = require ('events'). Fungsi EventEmitter iterateProcessor (num) {var emt = new emitter () setTimeout (function () {untuk (var i = 1 i & lt = num i ++) {emt.emit ('BeforeProcess' , i) console.log ('Processing Iteration:' + i) emt.emit ('AfterProcess', i)}}, 5000) return emt} var it = iterateProcessor (5) it.on ('BeforeProcess', function ( info) {console.log ('Memulai proses untuk' + info)}) it.on ('AfterProcess', function (info) {console.log ('Menyelesaikan pemrosesan untuk' + info)

Di bagian selanjutnya dari Tutorial Node.js ini, saya akan memberi Anda wawasan tentang salah satu modul terpenting Node.js yang disebut Modul HTTP.

Modul HTTP

Umumnya, Node.js digunakan untuk mengembangkan aplikasi berbasis server. Tetapi dengan menggunakan modul, Anda dapat dengan mudah membuat server web yang dapat merespons permintaan klien. Jadi itu juga disebut Modul Web dan menyediakan modul seperti HTTP dan permintaan yang memfasilitasi Node.js dalam memproses permintaan server.

Anda dapat dengan mudah memasukkan modul ini ke dalam aplikasi Node.js Anda hanya dengan menulis kode di bawah ini:

var http = membutuhkan ('http')

Di bawah ini saya telah menulis kode, yang menunjukkan bagaimana Server Web dikembangkan di Node.js.

// memanggil http library var http = require ('http') var url = require ('url') // membuat server var server = http.createServer (function (req, res) {// mengatur header konten res.writeHead ( 200, ('Content-Type', 'text / html')) var q = url.parse (req.url, true) .query var txt = q.year + '' + q.month // kirim string ke tanggapan res.end (txt)}) // menetapkan 8082 sebagai server port listening server.listen (8082)

Di bagian selanjutnya dari Tutorial Node.js ini, saya akan berbicara tentang Express.js yang banyak digunakan untuk pengembangan aplikasi web sisi server.

Express.js

Express.js adalah kerangka kerja yang dibangun di atas Node.js yang memfasilitasi pengelolaan aliran data antara server dan rute di aplikasi sisi server. Ini adalah kerangka kerja yang ringan dan fleksibel yang menyediakan berbagai fitur yang diperlukan untuk web serta pengembangan aplikasi seluler.

Express.js dikembangkan pada modul middleware dari Node.js yang dipanggil Menghubung . Modul penghubung selanjutnya memanfaatkan http modul untuk berkomunikasi dengan Node.js. Jadi, jika Anda bekerja dengan salah satu modul middleware berbasis koneksi, maka Anda dapat dengan mudah berintegrasi dengan Express.js.

Tidak hanya itu, beberapa keunggulan utama Express.js adalah:

  • Membuat pengembangan aplikasi web lebih cepat
  • Membantu membangun aplikasi seluler dan web tipe halaman tunggal, multi-halaman, dan hybrid
  • Express menyediakan dua mesin templating yaitu, Jade dan EJS
  • Express mengikuti arsitektur Model-View-Controller (MVC)
  • Membuat integrasi dengan database seperti MongoDB, Redis, MySQL
  • Mendefinisikan middleware penanganan kesalahan
  • Menyederhanakan konfigurasi dan penyesuaian mudah untuk aplikasi.

Dengan semua fitur ini, Express bertanggung jawab atas bagian backend di tumpukan MEAN. Mean Stack adalah tumpukan perangkat lunak JavaScript sumber terbuka yang digunakan untuk membangun situs web dinamis dan aplikasi web. Sini, BERARTI berdiri untuk M ongoDB, AKU S xpress.js, UNTUK ngularJS, dan N ode.js.

Sekarang mari kita lihat contoh sederhana untuk memahami, bagaimana Express.js bekerja dengan Node.js untuk memudahkan pekerjaan kita. Tetapi sebelum Anda mulai bekerja dengan Express.js, Anda perlu menginstalnya di sistem Anda.

Untuk menginstal Express.js secara global Anda dapat menggunakan perintah di bawah ini:

npm install -g express

Atau, jika Anda ingin menginstalnya secara lokal ke dalam folder proyek Anda, Anda perlu menjalankan perintah di bawah ini:

npm install express --save

Karena kita sudah selesai dengan semua persiapan, sekarang mari langsung menuju penerapan praktis. Di sini, saya akan menunjukkan Aplikasi Otentikasi Pengguna sederhana menggunakan Node.js dan Express.js.

melewati nilai lewat referensi java

Tutorial Node.js Pengembangan Aplikasi Langkah Demi Langkah dengan Express.js

Untuk ini, kami membutuhkan file di bawah ini:

  • package.json
  • script.js
  • tampilan
    • index.jade
    • login.jade
    • secure.jade
    • unauthorized.jade
    • welcome.jade
  • lib
    • routes.js

Jadi, mari kita mulai package.json .

{'author': 'Edureka', 'name': 'Express_Demo', 'description': 'Express with Node.js', 'version': '0.0.0', 'scripts': {'start': 'node script.js '},' engine ': {' node ':' ~ 0.4.12 '},' dependencies ': {' connect-flash ':' ^ 0.1.1 ',' cookie-parser ':' ^ 1.4 .3 ',' express ':' ^ 3.21.2 ',' jade ':' ^ 0.20.3 ',' req-flash ':' 0.0.3 '},' devDependencies ': {}}

Selanjutnya, Anda perlu membuat file script.js .

var express = require ('express') var http = require ('http') var port = 8999 var app = express () const flash = require ('connect-flash') var cookieParser = require ('cookie-parser') var server = http.createServer (app) function checkAuth (req, res, next) {console.log ('checkAuth' + req.url) // jangan sajikan / amankan bagi mereka yang tidak masuk jika (req.url = == '/ secure' && (! req.session ||! req.session.authenticated)) {res.render ('unauthorized', {status: 403}) return} next ()} app.use (flash () ) app.use (cookieParser ()) app.use (express.session ({rahasia: 'contoh'})) app.use (express.bodyParser ()) app.use (checkAuth) app.use (app.router) app.set ('mesin tampilan', 'jade') app.set ('opsi tampilan', {layout: false}) memerlukan ('./ lib / routes.js') (app) app.listen (port) konsol .log ('Node mendengarkan pada port% s', port)

Sekarang, buat folder bernama view, di mana Anda akan menambahkan file giok yang akan bertanggung jawab untuk berbagai tampilan halaman. File tampilan pertama yang perlu Anda buat adalah index.jade .

!!! 5 html (lang = 'en') head title Contoh Otentikasi Pengguna body h1 center Demo Otentikasi menggunakan Ekspres h3 Arahkan ke h4 ul li: a (href = '/ secure') Isi aman li: a (href = '/ selamat datang') Halaman selamat datang li: a (href = '/ logout') Keluar

Sekarang, buat file login.jade mengajukan.

!!! 5 html (lang = 'en') head title Contoh otentikasi ekspres body h1 center Masuk ke pusat contoh otentikasi Express ini p Gunakan pengguna untuk nama pengguna dan lulus untuk kata sandinya. form (method = 'post') p label (for = 'username') Input Alamat Email (type = 'text', name = 'username', class = 'form-control', id = 'exampleInputPassword1', placeholder = ' Email ', style =' width: 400px ') p label tengah (untuk =' password ') Masukan kata sandi (type =' password ', name =' password ', class =' ​​form-control ', id =' exampleInputPassword1 ', placeholder = 'Password', style = 'width: 400px') p center Kirim - setiap pesan dalam flash h4 (style = 'color: red') # {message}

Langkah selanjutnya adalah membuat file welcome.jade .

!!! 5 html (lang = 'en') head title Contoh Otentikasi Pengguna body h1 center Selamat Datang Di Tutorial Edureka!

Selanjutnya, buat secure.jade mengajukan.

!!! 5 html (lang = 'en') head title Contoh Otentikasi Ekspres body h1 center Hai, amankan pengguna. p Navigasikan ke ul li: a (href = '/ secure') Konten yang aman li: a (href = '/ welcome') Halaman selamat datang li: a (href = '/ logout') Keluar

Sekarang, buat file unauthorized.jade mengajukan.

!!! 5 html (lang = 'en') head title Contoh Otentikasi Pengguna body h1 center Tidak sah p Anda tidak memiliki izin untuk melihat halaman ini. p Tolong ' untuk melanjutkan

Sekarang, Anda perlu membuat folder dan menamainya lib . Sekarang, buat file route.js file yang akan memetakan semua halaman.

var util = membutuhkan ('util') module.exports = function (app) {app.get ('/', function (req, res, next) {res.render ('index')}) app.get (' / welcome ', function (req, res, next) {res.render (' welcome ')}) app.get (' / secure ', function (req, res, next) {res.render (' secure ')} ) app.get ('/ login', function (req, res, next) {res.render ('login', {flash: req.flash ()})}) app.post ('/ login', function ( req, res, next) {// Anda mungkin ingin melakukan pencarian database atau sesuatu yang lebih skalabel di sini jika (req.body.username && req.body.username === 'user' && req.body.password && req.body.password === 'pass') {req.session.authenticated = true res.redirect ('/ secure')} lain {req.flash ('error', 'Username dan password salah') res. redirect ('/ login')}}) app.get ('/ logout', function (req, res, next) {delete req.session.authenticated res.redirect ('/')})}

Sekarang jika Anda ingin menjalankan kode ini sendiri, Anda dapat mengunduhnya dari sini: PDF Tutorial Node.js .

Dengan ini, kita sampai pada akhir dari Tutorial Node.js ini. Saya harap saya bisa menjelaskan konsep Node.js dari awal.

Jika Anda menemukan “Tutorial Node.js 'Relevan, lihat oleh Edureka, perusahaan pembelajaran online tepercaya dengan jaringan lebih dari 250.000 pelajar yang puas dan tersebar di seluruh dunia.

Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar dari Tutorial Node.js ini dan kami akan menghubungi Anda kembali.