Tutorial NodeJS : Membedah Ebook NodeJS Notes for Professionals

Tutorial NodeJS : Membedah Ebook NodeJS Notes for Professionals

Disini kita akan membedah isi dari ebook NodeJS Notes for Professionals, terlebih dahulu kita harus tau itu NodeJS. NodeJS adalah perangkat lunak yang didesain untuk mengembangkan aplikasi berbasis web dan ditulis dalam sintaks bahasa pemrograman JavaScript. Bila selama ini kita mengenal JavaScript sebagai bahasa pemrograman yang berjalan di sisi client / browser saja, maka NodeJS ada untuk melengkapi peran JavaScript sehingga bisa juga berlaku sebagai bahasa pemrograman yang berjalan di sisi server, seperti halnya PHP, Ruby, Perl, dan sebagainya. Node.js dapat berjalan di sistem operasi Windows, Mac OS X dan Linux tanpa perlu ada perubahan kode program. Node.js memiliki pustaka server HTTP sendiri sehingga memungkinkan untuk menjalankan server web tanpa menggunakan program server web seperti Apache atau Nginx.

Sebelum kita memulainya, jangan lupa install NodeJS nya.


Setelah menginstall NodeJS dan NPM mari kita mulai pembahasan ebook NodeJS Notes for Professionals

BAB 1 : Memulai NodeJS

Bagian 1.1: Hello World HTTP server

Bagian 1.2: Hello World command line

Bagian 1.3: Hello World Dengan Express Framwork

Bagian 1.4: Memasang dan Menjalankan NodeJS

Untuk memulai, instal NodeJS di komputer kalian.
  • Windows: Download NodeJS dan jalankan installer.
  • Mac: Download NodeJS dan instal. Atau, kita dapat menginstal Node via Homebrew menggunakan brew install node. Homebrew adalah paket pengatur baris perintah untuk Macintosh, dan banyak lagi Informasi tentang ini dapat ditemukan di situs web Homebrew.
  • Linux: Ikuti instruksi disini.

Bagian 1.5: Debugging Aplikasi NodeJS

Bagian 1.7: Hello World di REPL

Ketika dipanggil tanpa argumen, Node.js memulai REPL (Read-Eval-Print-Loop) yang juga dikenal sebagai "Node shell".

Pada command line masukan perintah.

node
>

Pada prompt Node shell> ketik "Hello World!"

node
> "Hello World!"
'Hello World!'

Bagian 1.8: Deploy aplikasi secara online

Ketika deploy aplikasi kita ke hosting, biasanya menawarkan PORT - environment variable yang dapat di gunakan untuk menjalankan server. Mengubah nomor port menjadi process.env.PORT memungkinkan kita untuk mengakses aplikasi.

contoh,

http.createServer(function(request, response) {
// your server code
}).listen(process.env.PORT);

Dan, jika ingin mengakses offline ini saat debugging, kita dapat menggunakan ini:

http.createServer(function(request, response) {
// your server code
}).listen(process.env.PORT || 3000);

Bagian 1.9: Modul inti

Bagian 1.10: TLS Socket Server Dan Client


BAB 2 : NPM


Node Package Manager (NPM) menyediakan dua fungsi utama berikut: Repositori online untuk packages/modules NodeJS yang dapat dicari di search.nodejs.org. Utilitas command line untuk menginstal paket NodeJS, melakukan manajemen versi dan manajemen dependensi paket NodeJS.

Bagian 2.4: Menjalankan Skrip NPM

Bagian 2.5: Versi Semantik Dasar NPM

Bagian 2.6: Menerbitkan Packages

Bagian 2.7: Menghapus packages yang tidak tersedia

Untuk menghapus packages asing (packages yang diinstal tetapi tidak ada dalam daftar depedensi) jalankan perintah berikut:

npm prune

Untuk menghapus semua paket dev tambahkan flag --production:

npm prune --produksi

Bagian 2.8: Daftar packages yang saat ini diinstal

Untuk menghasilkan daftar (tampilan hierarki) dari packages yang diinstal saat ini, gunakan

npm list

ls, la dan ll adalah alias dari perintah daftar. Perintah la dan ll menunjukkan informasi tambahan seperti deskripsi dan repository.

npm list --json


  • json - Menampilkan informasi dalam format json
  • long - Menampilkan informasi yang diperluas
  • parseable - Menampilkan daftar yang dapat diurai 
  • global - Menampilkan packages yang diinstal secara global
  • depth - Kedalaman tampilan maksimum 
  • dev / development - Menunjukkan devDependencies
  • prod / produksi - Menunjukkan depedensi


Jika mau, kita juga bisa pergi ke halaman home packages.

npm home <nama paket>

Bagian 2.9: Memperbarui npm dan packages

Karena npm sendiri adalah modul NodeJS, ia dapat diperbarui menggunakan dirinya sendiri.
Jika OS Windows harus menjalankan command prompt sebagai Admin


npm install -g npm@latest

Jika ingin memeriksa versi terbaru, kita lakukan:

npm outdated

Untuk memperbarui packages tertentu:

npm update <package name> 

Ini akan memperbarui packages ke versi terbaru sesuai dengan batasan dalam package.json

Jika kita juga ingin mengunci versi yang diperbarui di package.json:

npm update <package name> --save

Bagian 2.10: Scopes dan repositories

#Atur repository untuk scope "myscope"
npm config set @myscope:registry http://registry.corporation.com
# Login di repository dan dikaitkan dengan scope "myscope"
npm adduser --registry=http://registry.corporation.com --scope=@myscope
#Install packages "mylib" dari scope "myscope"
npm install @myscope/mylib

Jika nama packages kita sendiri dimulai dengan @myscope dan scope "myscope" dikaitkan dengan repositori yang berbeda, npm publish akan mengunggah packages kita ke repositori itu.

Kita juga dapat mempertahankan pengaturan ini dalam file .npmrc:

@myscope:registry=http://registry.corporation.com
//registry.corporation.com/:_authToken=xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxx

Bagian 2.11: Menghubungkan proyek untuk debugging dan pengembangan yang lebih cepat

Membangun depedensi proyek kadang-kadang bisa menjadi tugas yang membosankan. Alih-alih menerbitkan versi packages ke NPM dan menginstal dependensi untuk menguji perubahan, gunakan link npm. link npm menciptakan symlink sehingga kode terbaru dapat diuji di lingkungan lokal. Ini membuat pengujian alat global dan dependensi proyek lebih mudah dengan membiarkan kode terbaru berjalan sebelum membuat versi yang diterbitkan.

NAME
npm-link - Symlink a package folder
SYNOPSIS
npm link (dalam package dir)
npm link [<@scope>/]<pkg>[@<version>]
alias: npm ln

Langkah-langkah untuk menghubungkan depedensi proyek

Saat membuat link depedensi, perhatikan bahwa nama packages adalah apa yang akan direferensikan dalam proyek induk.

  • CD ke direktori dependensi (mis: cd ../my-dep)
  • npm link
  • CD ke dalam proyek yang akan menggunakan dependensi
  • npm link my-dep atau jika namespace npm link @ namespace / my-dep

Langkah-langkah untuk menghubungkan tool global
  • CD ke direktori proyek (mis: cd eslint-watch)
  • npm link
  • Gunakan tool
  • esw --quiet
Masalah yang mungkin muncul
Menautkan proyek terkadang dapat menyebabkan masalah jika depedensi atau tool global sudah diinstal. uninstall npm (-g) <pkg> dan kemudian menjalankan link npm biasanya menyelesaikan masalah yang mungkin timbul.

Bagian 2.12: Mengunci modul ke versi tertentu

Secara default, npm menginstal versi modul terbaru yang tersedia sesuai dengan versi semantik setiap dependensi. Ini bisa menjadi masalah jika pembuat modul tidak mematuhi semver dan memperkenalkan perubahan pada pembaruan modul, misalnya.

Untuk mengunci setiap versi dependensi (dan versi dependensinya, dll.) Ke versi spesifik yang diinstal secara lokal di folder node_modules, gunakan

npm shrinkwrap

Ini kemudian akan membuat npm-shrinkwrap.json di samping package.json berisi daftar versi dependance tertentu.

Bagian 2.13: Menyiapkan packages yang diinstal secara global

Kita dapat menggunakan npm install -g untuk menginstal packages "secara global." Ini biasanya dilakukan untuk menginstal dapat dieksekusi dan di tambahkan ke path untuk menjalankannya. Sebagai contoh:

npm install -g gulp-cli

Jika kita memperbarui path, kita dapat memanggil gulp langsung.

Pada banyak OS, npm install -g akan berusaha menulis ke direktori yang mungkin tidak dapat ditulis oleh pengguna seperti / usr / bin. kita tidak boleh menggunakan sudo npm install dalam kasus ini karena ada kemungkinan risiko keamanan menjalankan skrip arbitrer dengan sudo dan pengguna root dapat membuat direktori di home kita yang tidak dapat ditulis yang membuat instalasi lebih sulit.

Kita dapat memberi tahu npm tempat memasang modul global melalui file konfigurasi, ~ / .npmrc.

prefix=~/.npm-global-modules

Ini akan menggunakan prefix setiap kali kita menjalankan npm install -g. kita juga dapat menggunakan npm install --prefix ~ / .npm- modules-global untuk mengatur prefix saat menginstal. Jika prefix sama dengan konfigurasi, kita tidak perlu menggunakan -g.

Untuk menggunakan modul yang diinstal secara global, modul ini harus ada di path kita:

export PATH=$PATH:~/.npm-global-modules/bin

Sekarang ketika kita menjalankan npm install -g gulp-cli akan dapat menggunakan gulp.

Catatan: Ketika menginstal npm (tanpa -g) awalan akan menjadi direktori dengan package.json atau direktori saat ini jika tidak ada yang ditemukan dalam hierarki. Ini juga membuat direktori node_modules / .bin yang memiliki executable. Jika kita ingin menggunakan executable yang khusus untuk suatu proyek, tidak perlu menggunakan npm install -g. kita dapat menggunakan yang ada di node_modules / .bin.

Bab 3: Aplikasi Web Dengan Express

path
Menentukan bagian path atau URL yang akan ditangani oleh callback yang di handle.

middleware :
Satu atau lebih fungsi yang akan dipanggil sebelum callback. Pada dasarnya fungsi multiple callback Berguna untuk penanganan yang lebih spesifik misalnya otorisasi atau penanganan kesalahan.

callback :
Fungsi yang akan digunakan untuk menangani permintaan ke path yang ditentukan. Itu akan dipanggil seperti callback(request, response, next), di mana request, response, dan next dijelaskan di bawah ini

callback request :
Objek merangkum detail tentang permintaan HTTP yang di request untuk menangani callback.

response
Objek yang digunakan untuk menentukan bagaimana server harus menanggapi permintaan/request

next
callback yang melewati kontrol ke route yang cocok. Ini menerima objek kesalahan opsional.

Express adalah framework aplikasi web NodeJS yang minimal dan fleksibel, menyediakan serangkaian fitur yang kuat untuk membangun aplikasi web.

Bagian 3.1: Memulai Express

Bagian 3.2: Routing Dasar

LihatTutupKomentar