NodeJS

Apa itu NodeJS?

Apa itu NodeJS?

Dalam tutorial ini, kita akan memulakan dengan Node.js. Ketahui mengenai beberapa ciri yang paling popular dan akan cuba memotivasi pembaca untuk menggunakan teknologi yang luar biasa ini untuk projek mereka yang akan datang. Sebagai prasyarat, anda hanya perlu memahami konsep JavaScript dan pengaturcaraan generik, seperti pemboleh ubah, jenis data dan fungsi.

JavaScript mempunyai sejarah yang pelik. Ini bermula sebagai bahasa skrip ringan untuk penyemak imbas web dan diperlakukan lebih seperti 'mainan' daripada bahasa pengaturcaraan yang serius. Tetapi sejak lama ia berkembang lebih awal.

Orang mula memperluas kemampuannya ketika Google jurubahasa JavaScript sumber terbuka - mesin V8. Node.js menggunakan enjin JavaScript ini dan memperluasnya agar berfungsi di luar bidang penyemak imbas. Node.js mengikat JavaScript dengan API sistem operasi anda sehingga dapat berjalan secara asli di pelayan (atau dalam hal pembangun, di desktopnya). Ya, ini bermaksud anda dapat melaksanakan aplikasi sisi pelayan, aplikasi desktop dan mekanisme back-end dengan mempelajari satu bahasa - JavaScript.

Ringkasnya, anda boleh menulis .js fail yang mengandungi program yang ditulis dalam sintaks JavaScript yang akan ditafsirkan oleh Node.sama dengan cara yang sama .py fail dengan sintaks yang sah ditafsirkan / dilaksanakan oleh jurubahasa python.

Terdapat lebih banyak daripada hanya mengetahui bahasa, Node.js mempunyai modul dan konsep yang tidak dikenali yang memerlukan kesabaran dalam satu putaran belajar konsep baru yang tidak henti-hentinya. Ia mempunyai pengurus pakej sendiri (npm), pengurus versi (nvm) dan pendaftaran pakej terbesar di dunia. Yakinlah, kesukaran awal akan menjadikan hidup anda lebih mudah dalam jangka masa panjang.

Pemasangan

Pada masa ini terdapat dua pilihan untuk Node.versi js yang mungkin anda ingin pertimbangkan.

Kami akan mengikuti versi LTS. Memuat turun Node dari laman rasmi untuk sistem operasi anda juga akan memasang Node Package Manager (npm). Sukar untuk membincangkan Node.js tanpa masuk ke npm. Kami akan kembali ke pengurus pakej di kemudian hari. Sekiranya anda menggunakan Ubuntu atau distro debian lain, gunakan:

$ sudo apt memasang nodejs

Untuk semua binari dan kod sumber, lawati halaman muat turun rasmi.

Itu sahaja dengan pemasangan, masa untuk mengatakan, "Hello, World!"

Hai dunia! Dan Membuat Pelayan

Seperti yang dijanjikan, kami akan membuat a hello.js fail dan jalankan menggunakan Node. Dalam fail teks biasa, dipanggil hello.js, kami menulis baris berikut:

konsol.log ("Helo, Dunia!”);

Sekarang simpan fail dan buka terminal di direktori yang sama dengan fail itu dan jalankan arahan berikut:

$ simpul hello.js
# Atau anda mungkin berlari
$ simpul hello

Ini akan memberi anda output yang diinginkan "Hai dunia". Sama seperti JavaScript vanila. Tetapi yang pasti, kita dapat melakukan yang lebih baik ..

Tidak seperti aplikasi berasaskan PHP yang memerlukan Apache atau Nginx atau beberapa program pelayan web lain untuk berjalan di atas, di simpul kita menulis laluan http kita sendiri, mengkonfigurasi port dan nama host dan memproses permintaan HTTP untuk memberikan respons yang sesuai.

Kedengarannya banyak kerja, tetapi ini hanya rintangan awal dalam kurva pembelajaran, dan setelah anda mengetahui banyak perkara, anda akan dapat memahami aplikasi web dengan lebih mendalam daripada sebelumnya. Mari buat pelayan web yang mendengar port 3000 di localhost dan mengembalikan fail teks sebagai tindak balas. Buat fail aplikasi.js dengan kandungan berikut:

const http = memerlukan ('http');
nama host const = '127.0.0.1 ';
port const = 3000;
pelayan const = http.createServer ((req, res) =>
res.statusCode = 200;
res.setHeader ('Content-Type', 'text / plain');
res.tamat ('Hello World \ n');
);
pelayan.dengar (port, nama host, () =>
konsol.log ('Pelayan berjalan di http: // $ hostname: $ port /');
);

Sebelum kita mengetahui perincian kod, simpan fail ini dan buka terminal di direktori yang sama dengan fail, kemudian jalankan:

aplikasi $ node

Ini akan melaksanakan kandungan aplikasi.js fail dan anda akan mendapat output seperti berikut:

Buka penyemak imbas web dan lawati http: // localhost: 3000 / atau http: // 127.0.0.1: 3000 / untuk melihat teks Hello World ringkas di tetingkap penyemak imbas anda.

Jadi apa yang baru kita buat? Jika anda sudah biasa dengan JavaScript, anda mungkin dapat memahami sebahagian dari itu ..

The Barisan pertama mengimport modul http, yang merupakan modul bawaan yang disertakan dengan Node, dan ini membantu kita mendengar soket web untuk permintaan, memproses permintaan http, dan memberikan respons yang sesuai.

The baris kedua dan ketiga menetapkan nama hos ke '127.0.0.1 ' dan pelabuhan  ke 3000. Ini bermakna kita boleh terus menggunakan pembolehubah nama hos dan pelabuhan, bukannya menaip keseluruhan alamat IP. Kemudian, apabila anda benar-benar menyebarkannya ke pelayan, anda akan menggantinya dengan alamat IP pelayan dan nombor port seperti 80 atau 443 jika ia adalah pelayan web. Kata kunci penyambung memastikan bahawa pemboleh ubah tidak dapat diubah di tempat lain dalam program ini.

The garisan empat hingga lapan  membuat objek pelayan yang mengambil permintaan sebagai req dan memberi tindak balas sebagai res.

Respons mempunyai atribut statusCode, itu res.kod status yang diatur ke 200 yang ditafsirkan oleh klien sebagai status "Oke". Kod ralat adalah 400-an dan 500-an, misalnya, Ralat 404 adalah kod untuk sumber yang tidak dijumpai. Begitu juga, atribut setHeader ditetapkan ke 'text / plain' yang bermaksud bahawa klien akan menerima teks biasa. Anda boleh menetapkannya ke HTML dan penyemak imbas anda akan memberikan html yang sah yang dilayan oleh pelayan. Dan juga akhir atribut hanyalah teks yang ingin kami kembalikan. Daripada mempunyai rentetan di sini, aplikasi dunia nyata akan mempunyai fail HTML statik atau yang lain .js fail untuk penyemak imbas pelanggan, yang akan menjadi tindak balas yang lebih berguna.

Akhirnya, tiga baris terakhir memulakan pelayan dan mencetak mesej yang mengatakan bahawa ia aktif pada nama host dan nombor port tertentu seperti yang ditetapkan oleh penyambung pernyataan, pada mulanya. Setiap kali permintaan baru masuk pada nama host yang ditentukan: pelayan kombinasi port memberikan respons dengan sesuai tindak balas objek.

Apa maksudnya?

Anda tidak perlu memahami kod di atas secara keseluruhan untuk mengetahui implikasinya. Kami sudah mempunyai JavaScript di bahagian depan berkat kerangka kerja hebat seperti Angular dan React. Bersamaan dengan itu, kami juga mempunyai fungsi back-end yang dimasukkan ke dalam Node.js etos.

Kerangka web seperti Express.js dapat membantu anda menulis aplikasi yang lebih kompleks di atas Node.js. Mengambil data dari Pangkalan Data, membuat API, dan UI front-end semuanya boleh ditulis menggunakan satu bahasa.

Kekuatan V8

Walaupun semuanya menjadi satu bahasa, masih banyak yang perlu dipelajari. Kerangka kerja dan modul yang berbeza mempunyai fungsi yang berbeza. Terdapat banyak versi untuk dipantau. Jadi adakah faedah lain menggunakan Node.js ekosistem.

Salah satu hujah yang paling penting untuk menyokongnya ialah bahawa enjin V8 mempunyai sokongan yang sangat baik untuk I / O yang tidak menyekat dan tidak menyekat. Yang pada dasarnya bermaksud bahawa satu proses yang berjalan pada memori sistem anda dapat menangani banyak permintaan masuk Apa yang dimaksudkan secara kasarnya ialah jika satu permintaan sedang diproses, dan satu permintaan lain masuk, Node mempunyai kemampuan untuk mulai memproses permintaan baru tersebut walaupun permintaan pertama belum selesai.

Lebih-lebih lagi, satu proses yang berjalan dalam memori anda bertanggungjawab untuk menangani semua permintaan masuk. Tidak seperti aplikasi berasaskan PHP yang memunculkan proses baru untuk setiap permintaan masuk baru.

Mudah-mudahan, pengenalan ini cukup untuk memberi anda motivasi mengenai Node.js. Mari ketahui jika anda mahukan tutorial lebih mendalam mengenai topik serupa dengan mengikuti kami di Twitter, Facebook dan YouTube.

5 Permainan Arcade Terbaik untuk Linux
Pada masa kini, komputer adalah mesin serius yang digunakan untuk permainan. Sekiranya anda tidak dapat memperoleh skor tinggi baru, anda akan tahu ma...
Battle For Wesnoth 1.13.6 Pembangunan Dikeluarkan
Battle For Wesnoth 1.13.6 dilancarkan bulan lalu, adalah rilis pengembangan keenam di 1.13.siri x dan memberikan sejumlah penambahbaikan, terutamanya ...
Cara Memasang League Of Legends di Ubuntu 14.04
Sekiranya anda peminat League of Legends, maka ini adalah peluang bagi anda untuk menguji menjalankan League of Legends. Perhatikan bahawa LOL disokon...