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.
Baca Dulu : 3 Cara Install NodeJS Di Linux Ubuntu
Baca Dulu : Tutorial Instalasi NodeJS / NPM Di Windows
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, gunakannpm 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 folderSYNOPSIS
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.

