Pada konferensi JSCONF 2009, seorang programmer muda bernama Ryan Dahl menunjukkan kepada orang -orang sebuah proyek yang sedang dikerjakannya, sebuah platform menjalankan JavaScript berdasarkan mesin Google V8, yang menyediakan serangkaian loop acara dan antarmuka pemrograman aplikasi IO rendah (API). Tidak seperti platform sisi server lainnya, JavaScript dilahirkan untuk menjadi IO yang digerakkan oleh peristiwa, dan proyek ini sangat mengurangi kompleksitas penulisan aplikasi yang digerakkan oleh acara, sehingga dengan cepat tumbuh dan menjadi populer dengan kecepatan yang luar biasa dan diterapkan pada proyek yang sebenarnya. (Jack: Terjemahan ini tidak terlalu dapat diandalkan, Teks Asli: Proyek ini tidak seperti platform JavaScript sisi server lainnya di mana semua primitif I/O digerakkan oleh peristiwa dan tidak ada jalan lain di sekitarnya.)
Proyek ini bernama Node.js, yang digunakan pengembang untuk menyebutnya Node. Node menyediakan toolkit non-blocking murni yang digerakkan oleh acara untuk membangun aplikasi yang sangat bersamaan.
Catatan: Node memungkinkan Anda untuk dengan mudah membangun layanan jaringan yang cepat dan dapat diskalakan.
Sejak diperkenalkan oleh Ryan Dahl, Node telah menarik perhatian luas dari industri ini. Mereka sudah mulai menggunakan layanan jaringan yang cepat dan dapat diskalakan dengan Node. Node sangat menarik.
Di satu sisi, karena JavaScript, JavaScript adalah bahasa pemrograman yang paling banyak digunakan di planet ini. Sebagian besar pemrogram web telah menggunakan JavaScript di sisi browser, dan sisi server adalah ekstensi yang sangat alami.
Di sisi lain, karena node mungil dan lucu, set fungsi inti node sangat kecil, dan API yang ada sangat halus, meminimalkan kompleksitas untuk pengembang. Ketika Anda ingin membangun aplikasi yang lebih kompleks, Anda hanya perlu memilih dan menginstal beberapa modul pihak ketiga yang Anda sukai.
Ada juga alasan mengapa node sangat menarik, mudah untuk memulai, Anda dapat mengunduh dan menginstalnya dalam hitungan menit dan menjalankannya.
Biasanya, Anda dapat menginstal Node sesuai dengan langkah -langkah di situs web resmi (http://nodejs.org), yang mendukung Windows, Linux, Macintosh dan Solaris.
Instal Node di Windows
Node mendukung Windows sejak versi 0.6.0. Untuk menginstal node di windows, cukup unduh node-v*.msi dari http://nodejs.org/#download, dan kemudian klik dua kali untuk dijalankan. Kemudian Anda dapat menemukan dialog keamanan yang mirip dengan Gambar 1-1.
Gambar 1-1
Klik tombol "Jalankan", dan setelah unduhan selesai, kotak dialog keamanan lain akan muncul (Gambar 1-2), mengingatkan Anda apakah Anda yakin akan operasinya.
Gambar 1-2
Jika Anda setuju, wizard instalasi node akan muncul (Gambar 1-3). Klik di sebelah untuk memulai instalasi simpul, dan instalasi akan selesai dalam waktu singkat! Lihat Gambar 1-4
Gambar 1-3
Gambar 1-4
Instal di Mac OS X
Jika Anda menggunakan Mac OS X, Anda dapat menggunakan Wizard Instalasi untuk menginstal Node. Pertama, buka http://nodejs.org/#download untuk mengunduh node-v*.pkg. Setelah mengunduh, klik dua kali untuk dijalankan. Anda akan melihat kotak dialog pertama dari Wizard Instalasi, lihat Gambar 1-5
Gambar 1-5
Klik "Lanjutkan" untuk menginstal, dan wizard akan meminta Anda untuk memasukkan kata sandi pengguna sistem. Setelah mengkonfirmasi, instalasi akan dimulai. Setelah beberapa saat, Node diinstal lagi! Lihat Gambar 1-6
Gambar 1-6
Instal dengan kode sumber
Jika Anda menggunakan sistem UNIX, Anda dapat menginstalnya dengan menyusun kode sumber. Pertama, Anda harus memilih versi node yang ingin Anda instal, lalu unduh kode sumber yang sesuai dan buat, instal dan jalankan node.
Catatan: Node bergantung pada beberapa basis kode pihak ketiga, tetapi untungnya kebanyakan dari mereka sudah termasuk dalam paket rilis Node. Jika Anda mulai membangun dari kode sumber, Anda memerlukan dua hal berikut:
1.Python (Versi 2.4 atau lebih) - Alat build yang dirilis dengan node membutuhkan lingkungan Python untuk dijalankan
2.libssl -dev - Jika Anda berencana menggunakan enkripsi SSL/TLS, Anda perlu menginstal ini. LIBSSL adalah perpustakaan kelas yang digunakan oleh alat OpenSSL. Dalam sistem Linux dan UNIX, Anda biasanya dapat menggunakan manajer paket sistem untuk menginstalnya. LIBSSL sudah dipasang sebelumnya di bawah Mac OS X, jadi jika Anda menggunakan Mac OS X, Anda biasanya tidak perlu menginstal LIBSSL lagi.
Pilih Versi Node
Biasanya ada dua versi node yang berbeda untuk diunduh di situs web resmi nodejs.org: versi stabil dan versi terbaru.
Untuk node, bit nomor versi minimum mewakili stabilitas versi ini, versi stabil menggunakan angka genap (seperti 0,2, 0,4, 0,6), dan versi non-stabil menggunakan angka ganjil (0,1, 0,3, 0,5, 0,7).
Tidak hanya versi yang tidak stabil secara fungsional tidak stabil, tetapi API juga dapat diubah dalam versi berikutnya, dan API yang dirilis dalam versi stabil tidak akan dimodifikasi. Untuk setiap cabang yang stabil, tambalan baru tidak hanya mencakup perbaikan bug, tetapi juga perubahan API dalam versi yang tidak stabil.
Kecuali jika Anda ingin menguji fitur baru dalam versi non-stabil terbaru, Anda harus memilih versi stabil terbaru. Versi non-stabil seperti medan perang bagi tim Node Core untuk menguji fitur baru.
Meskipun semakin banyak proyek dan perusahaan telah berhasil menggunakan node dalam produk mereka (beranda situs web resmi ditampilkan), Anda mungkin harus belajar untuk menanggung perubahan dalam API dari versi non-stabil ke versi stabil. Tentu saja, ini adalah harga belajar teknologi baru.
Unduh kode sumber simpul
Sekarang Anda tahu versi mana yang harus diunduh, lalu buka situs web resmi http://nodejs.org untuk menemukan paket tar yang sesuai, dan kemudian salin tautan unduhan. Jika Anda menggunakan sistem UNIX, sistem Anda mungkin telah menginstal WGET, yang berarti Anda dapat mengunduhnya dengan perintah shell:
Salinan kode adalah sebagai berikut:
$ wget http://nodejs.org/dist/v0.6.1/node-v0.6.12.tar.gz
Jika Anda tidak menginstal WGET, Anda mungkin perlu menggunakan Curl:
Salinan kode adalah sebagai berikut:
$ curl o http://nodejs.org/dist/v0.6.1/node-v0.6.12.tar.gz
Jika Anda tidak memiliki alat ini, Anda harus menemukan cara lain untuk mengunduh paket tar ke direktori lokal Anda - seperti melalui browser atau melalui jaringan lokal.
(Versi stabil terbaru dari contoh dalam buku ini saat menulis: 0.6.12)
Bangun Node
Sekarang kami memiliki kode sumber, kami dapat menggunakannya untuk membangun file node yang dapat dieksekusi. Pertama, Anda perlu membuka ritsleting paket tar yang Anda unduh sebelumnya:
Salinan kode adalah sebagai berikut:
$ tar xfz node-v0.6.12.tar.gz
Kemudian masukkan direktori sumber:
Salin kode sebagai berikut: $ CD Node-V0.6.12
Konfigurasi:
Salin kode sebagai berikut: $./Konfigurasi
Jika berjalan dengan baik, Anda akan melihat petunjuk untuk sukses:
Salin kode sebagai berikut: 'Konfigurasikan' berhasil selesai (9.278S)
Kemudian Anda dapat mulai menyusun:
Salinan kode adalah sebagai berikut:
$ make
Setelah menyusun, akan ada prompt berikut:
Salinan kode adalah sebagai berikut:
Bangun 'selesai dengan sukses (0,734s)
Instal Node
Saat dibangun, gunakan perintah berikut untuk menginstal node:
Salin kode sebagai berikut: $ Make Install
Operasi ini akan menyalin file yang dapat dieksekusi node ke/pengguna/lokal/bin/node
Jika Anda mengalami masalah izin, tambahkan sudo sebelum perintah dan jalankan sebagai pengguna root:
Salinan kode adalah sebagai berikut:
$ sudo membuat instal
Jalankan Node
Sekarang node berjalan, Anda dapat mengalami antarmuka interaksi baris perintah Node (CLI: antarmuka baris perintah), cukup panggil file yang dapat dieksekusi node:
Salinan kode adalah sebagai berikut:
$ node
Operasi ini akan memulai antarmuka interaksi baris perintah node dan menunggu input Anda. Masukkan perintah berikut untuk membiarkan node melakukan sesuatu:
Salinan kode adalah sebagai berikut:
> Console.log ('Hello World!');
Halo dunia!
> tidak terdefinisi
Anda juga dapat menjalankan file skrip JavaScript. Misalnya, Anda membuat file yang disebut hello_world.js dan berisi konten berikut:
Salinan kode adalah sebagai berikut:
Console.log ('Hello World!');
Kemudian gunakan nama file skrip ini sebagai parameter parameter pertama untuk memanggil file node yang dapat dieksekusi:
Salinan kode adalah sebagai berikut:
$ node hello_world.js
Halo dunia!
Akhirnya, gunakan Ctrl+D atau Ctrl+C untuk keluar dari antarmuka interaktif baris perintah node.
Persiapkan dan gunakan manajer paket node
Sejauh ini, Anda hanya dapat menggunakan fitur bahasa dan fungsi inti node itu sendiri, itulah sebabnya sebagian besar platform program memiliki sistem untuk mengunduh, menginstal, dan mengelola modul pihak ketiga. Di Node, kami menggunakan Node Package Manager (NPM: Node Package Manager)
NPM berisi tiga bagian: basis kode untuk menyimpan paket pihak ketiga, mekanisme untuk mengelola paket yang diinstal lokal, dan standar untuk mendefinisikan dependensi paket. NPM menyediakan layanan pendaftaran publik yang berisi semua paket yang diterbitkan oleh semua orang dan menyediakan alat baris perintah untuk mengunduh, menginstal, dan mengelola paket ini. Anda dapat merumuskan paket pihak ketiga lainnya yang perlu diandalkan paket atau aplikasi Anda sesuai dengan standar format paket Node.
Meskipun Anda dapat mulai menggunakan Node tanpa memahami NPM, jika Anda ingin menggunakan paket pihak ketiga, Anda harus mempelajarinya, karena Node itu sendiri hanya menyediakan beberapa API tingkat rendah. Menggunakan modul pihak ketiga dapat sangat mengurangi kompleksitas pengembangan dan tidak harus dikodekan secara langsung. NPM memungkinkan Anda untuk mengunduh dan menggunakan modul dalam kotak pasir, dan Anda dapat bereksperimen dengan apa yang Anda minati tanpa khawatir tentang mencemari lingkungan paket global.
NPM dan Node sebelumnya perlu diinstal secara mandiri. Sejak versi 0.6.0, NPM telah dimasukkan dalam paket instalasi node.
Gunakan NPM untuk menginstal, meningkatkan, dan menghapus paket
NPM sangat kuat dan Anda dapat menggunakannya dalam banyak hal. Basis kodenya secara terpusat mengelola semua modul publik, dan Anda dapat mengaksesnya melalui http://search.npmjs.org. Penulis modul Open Source Node dapat menerbitkan modulnya sendiri ke NPM, dan yang lain dapat mengunduh dan menginstal modul ini menggunakan nama modul dalam deskripsi instalasi paket.
Bagian konten ini mencakup beberapa operasi umum untuk menginstal dan menghapus paket. Mengetahui bahwa ini sudah cukup untuk membuat Anda mulai mengelola paket pihak ketiga yang bergantung pada aplikasi Anda sendiri. Meski begitu, Anda harus terlebih dahulu memahami perbedaan antara perintah -perintah ini dalam mode "global" dan "lokal" dan bagaimana mereka mempengaruhi ketergantungan dan pencarian modul.
Mode global dan lokal modul NPM
Ada dua mode utama operasi NPM: global dan lokal. Kedua mode ini akan mempengaruhi struktur direktori paket dan urutan di mana simpul memuat paket.
Mode lokal adalah mode operasi default NPM. Dalam mode ini, NPM hanya berfungsi di direktori kerja dan tidak akan menyebabkan modifikasi sistem-lebar. Mode ini memungkinkan Anda untuk menginstal dan menguji modul dalam program node tanpa mempengaruhi program node lain di komputer Anda.
Mode global cocok untuk modul publik yang akan digunakan oleh banyak program dan selalu dimuat secara global, seperti alat garis perintah, yang tidak akan digunakan secara langsung oleh aplikasi.
Jika Anda tidak tahu mode mana yang akan menginstal modul, Anda harus menggunakan mode lokal. Jika penulis modul membutuhkan modul untuk diinstal secara global, ia biasanya akan menunjukkannya dalam instruksi instalasi.
Mode global
Jika Anda menggunakan direktori default saat Anda menginstal node, dalam mode global, NPM akan menginstal paket ke/usr/local/lib/node_modules. Jika Anda menjalankan perintah berikut, NPM akan mencari dan mengunduh versi terbaru bernama Sax dan menginstalnya di direktori/usr/local/lib/node_modules/SAX.
Salin kode sebagai berikut: $ NPM Instal G Saksofis
Catatan: Jika pengguna shell Anda saat ini tidak memiliki izin yang cukup, Anda perlu menggunakan pengguna root untuk masuk atau menggunakan sudo untuk menjalankan perintah:
Salinan kode adalah sebagai berikut:
$ sudo npm menginstal g sax
Kemudian ketika Anda membutuhkan modul saksofon di skrip simpul Anda, gunakan pernyataan berikut untuk memuat:
Salinan kode adalah sebagai berikut:
var sax = membutuhkan ('saksofon');
Jika Anda belum menginstal SAX di direktori aplikasi dalam mode lokal, Node akan mencari modul bernama SAX di direktori instalasi sebelumnya, jika tidak versi lokal akan dimuat terlebih dahulu.
Mode default adalah mode lokal, jadi Anda perlu menambahkan bendera -g setelah perintah NPM untuk mengaktifkan mode global.
Mode lokal
Mode lokal adalah mode default yang disarankan untuk mekanisme ketergantungan paket node. Dalam mode ini, semua yang diinstal oleh NPM ada di direktori kerja saat ini (direktori root tidak terkecuali), tanpa mempengaruhi pengaturan global apa pun. Mekanisme ini memungkinkan Anda untuk mengatur modul ketergantungan aplikasi dan versinya satu per satu tanpa khawatir tentang mencemari ruang modul global. Ini berarti Anda dapat memiliki dua aplikasi yang bergantung pada versi yang berbeda dari modul yang sama tanpa bertentangan.
Dalam mode ini, NPM menggunakan direktori Node_Modules di direktori kerja saat ini untuk menyimpan modul. Misalnya, direktori kerja Anda saat ini adalah/home/user/apps/my_app, npm akan menggunakan/home/user/apps/my_app/node_modules untuk menyimpan semua modul lokal. Ini berarti bahwa jika Anda menggunakan nama modul untuk merujuk ke modul dalam kode Anda, Node pertama -tama akan mencari di direktori node_modules lokal. Jika tidak ditemukan, itu akan mencari direktori node_modules global. Prioritas modul lokal selalu lebih tinggi dari modul global.
Instal modul
Gunakan perintah berikut untuk menginstal versi terbaru dari modul:
Salinan kode adalah sebagai berikut:
$ NPM Instal <Paket Nama>
Misalnya, untuk mengunduh dan menginstal versi terbaru dari modul bernama Sax, pertama -tama Anda harus mengatur direktori root aplikasi Anda ke direktori saat ini, dan kemudian masukkan:
Salinan kode adalah sebagai berikut:
$ npm menginstal saksofon
Operasi ini akan membuat subdirektori node_modules (jika tidak ada) di direktori saat ini, dan kemudian instal modul SAX di bawah ini.
Anda juga dapat memilih untuk menginstal versi tertentu melalui perintah berikut:
Salinan kode adalah sebagai berikut:
$ NPM Instal <Package Name>@<Versi Spec>
Gunakan nomor versi yang ditentukan untuk mengganti placeholder dalam perintah. Misalnya, untuk mengunduh versi 0.2.5 dari modul SAX, Anda hanya perlu menjalankan:
Salinan kode adalah sebagai berikut:
$ NPM Instal [email protected]
Placeholder juga dapat diganti dengan rentang versi. Misalnya, jika Anda ingin menginstal versi terbaru dari Cabang Sax Module 0.2, Anda dapat menjalankan:
Salinan kode adalah sebagai berikut:
$ npm <a href = "http://www.trevorurnbull.com/" rel = "eksternal nofollow"> viagra canada online </a> Instal [email protected]
Atau, instal versi terbaru dengan nomor versi kurang dari 0,3:
Salinan kode adalah sebagai berikut:
$ npm instal saksofon@"<0,3"
Anda bahkan dapat menentukan rentang versi:
Salinan kode adalah sebagai berikut:
$ npm Instal Sax@"> = 0.1.0 <0.3.1"
Hapus instalan modul
Gunakan perintah berikut untuk menghapus pemasangan modul lokal:
Salinan kode adalah sebagai berikut:
$ npm uninstall <package name>
Jika Anda ingin menghapus modul global, tambahkan tag -g:
Salinan kode adalah sebagai berikut:
$ npm uninstall -g <package name>
Perbarui modul
Gunakan perintah berikut untuk memperbarui modul lokal:
Salinan kode adalah sebagai berikut:
$ NPM UPDATE <Paket Name>
Perintah ini akan mencoba untuk mendapatkan versi terbaru dari paket modul dan memperbarui versi lokal. Jika tidak diinstal secara lokal, itu akan menginstalnya. Jika lingkungan global perlu diperbarui, Anda perlu menambahkan tag -g:
Salinan kode adalah sebagai berikut:
$ NPM UPDATE G <nama paket>
Menggunakan file yang dapat dieksekusi
Modul dapat berisi satu atau lebih file yang dapat dieksekusi. Jika Anda menggunakan Pengaturan Direktori Default untuk menginstal modul global, NPM akan menginstal file yang dapat dieksekusi ke direktori/USR/LOCAL/BIN, yang biasanya juga ditetapkan sebagai bagian dari variabel lingkungan jalur sistem. Jika Anda menginstal modul ini secara lokal, NPM akan menempatkan semua file yang dapat dieksekusi di direktori ./node_modules/.bin.
Menangani dependensi
NPM tidak hanya menginstal paket modul yang Anda butuhkan, tetapi juga menginstal modul lain yang diandalkan modul ini. Misalnya, jika Anda perlu menginstal modul A, dan A bergantung pada modul B dan C, maka ketika Anda menginstal A, B dan C akan diinstal di direktori ./node_modules/a/node_modules.
Misalnya, Anda menggunakan perintah berikut untuk menginstal modul bernama Nano secara lokal:
Salinan kode adalah sebagai berikut:
$ NPM Instal Nano
Output NPM akan terlihat seperti ini:
Ini memberi tahu Anda bahwa modul nano tergantung pada dua modul yang menggarisbawahi dan permintaan, dan juga menunjukkan versi yang diinstal. Jika Anda sekarang memeriksa direktori ./node_modules/nano/node_modules, Anda akan menemukan bahwa kedua modul ini telah diinstal:
Salinan kode adalah sebagai berikut:
$ ls node_modules/nano/node_modules
meminta garis bawah
Mendefinisikan dependensi menggunakan file package.json
Ketika Anda mulai menulis aplikasi, Anda dapat membuat file package.json di direktori root aplikasi untuk menentukan metadata aplikasi, seperti nama aplikasi, penulis, alamat basis kode, informasi kontak, dll. Modul eksternal yang diandalkan program juga ditentukan dalam file ini.
Jika Anda tidak berencana untuk mempublikasikan program ke NPM, Anda tidak perlu membuat file ini. Namun, bahkan jika program Anda bersifat pribadi, file ini sebenarnya berguna. Ini dapat memberi tahu NPM dependensi aplikasi. (Catatan Penerjemah: Misalnya, jika Anda menyalin kode sumber proyek dari lingkungan pengembangan ke lingkungan produksi, Anda dapat menginstal semua dependensi sekaligus dengan memanggil instalasi NPM. NPM secara otomatis akan menyelesaikan pengunduhan dan pemasangan modul ketergantungan melalui hubungan ketergantungan yang ditentukan dalam paket.json, tanpa harus mengoperasikannya satu per satu, saya akan memperkenalkannya secara rinci)
Package.json adalah file format JSON yang berisi serangkaian atribut, tetapi jika hanya untuk menjelaskan dependensi program, hanya satu atribut dependensi yang digunakan. Misalnya, aplikasi yang disebut MyApp mengandalkan modul saksofon, nano dan permintaan, dan hanya perlu membuat paket seperti itu.
Salinan kode adalah sebagai berikut:
{
"Nama": "MyApp",
"Versi": "1.0.0",
"dependensi": {
"saksofon": "0.3.x",
"Nano": "*",
"Permintaan": "> 0.2.0"
}
}
Anda menentukan aplikasi MyApp, yang tergantung pada 0,3 versi Sax, versi nano apa pun, dan permintaan modul dengan versi lebih tinggi dari 0,2.0.
Catatan: Anda mungkin menemukan bahwa jika Anda menentukan bidang nama dan versi, NPM tidak akan berfungsi, yang hanya akan terjadi dalam versi NPM yang lebih lama, karena awalnya NPM digunakan untuk modul publik, bukan program pribadi.
Kemudian, di direktori root aplikasi, jalankan:
Salinan kode adalah sebagai berikut:
Instal $ NPM
Dengan cara ini, NPM akan menganalisis dependensi dan direktori node_modules lokal Anda dan secara otomatis mengunduh dan menginstal modul yang hilang.
Anda juga dapat memperbarui semua modul lokal ke versi terbaru yang cocok dengan pengaturan ketergantungan yang Anda tentukan oleh:
Salinan kode adalah sebagai berikut:
Pembaruan $ NPM
Bahkan, Anda hanya menggunakan metode pembaruan, karena akan memungkinkan NPM untuk secara otomatis mendapatkan modul ketergantungan yang hilang itu.
ringkasan
Bab ini mempelajari cara menginstal Node dan Node Package Manager (NPM). Sekarang Anda dapat menggunakan NPM untuk menginstal, menghapus, dan menghapus modul pihak ketiga. Juga belajar cara menggunakan NPM untuk mengelola dependensi aplikasi dengan file package.json.
Sekarang Anda telah menginstal Node dan NPM, Anda dapat mencobanya. Namun, pertama -tama, Anda perlu mengetahui beberapa pengetahuan yang relevan tentang node dan driver acara. Isi ini akan diperkenalkan di bab berikutnya.