Perubahan lingkungan telah membawa lompatan teknologi yang hebat ke depan, dengan peluang dan tantangan datang pada saat yang sama. Karena saya tidak belajar JS, saya harus mengendarai bebek untuk meletakkannya di rak dan mempelajarinya bersama. (><)
1. Baca buku dulu
Saya membaca "node.js yang mendalam dan mudah dipahami" di awal, dan saya menyadari bahwa buku ini membutuhkan fondasi tertentu setelah membacanya. Saya mencari 41 halaman "Pengantar Node" online dan belajar untuk membangun aplikasi web sendiri. Dan setelah menyegarkan rasa prestasi, saya membaca "The Great Node.js". Sekarang saya akan membaca buku lagi setelah membaca "Node.js yang mendalam dan mudah dipahami".
2. Bangun lingkungan untuk menjalankan rutinitas di git (3 kesalahan dilaporkan)
Setelah mengunduh MSI di situs web resmi, pergilah ke depan. Saat memasuki perintah NPM Instal, kesalahan "NPM err! Tidak ditemukan: git" dilaporkan. Alasannya adalah bahwa komputer baru tidak mengikuti git.
Saat menginstal paket ketergantungan eksternal, kesalahan "gyp err! Konfigurasi kesalahan" dilaporkan, dan alasannya adalah bahwa lingkungan Python tidak. Selain itu, paket ketergantungan ini hanya dapat diinstal dalam versi yang lebih rendah. Kesalahan terakhir adalah "MSBuild: Kesalahan MSB3428: Komponen Visual C ++" VcBuild.exe "gagal memuat. Kesalahan masih dilaporkan setelah menginstal .NET Framework 2.0 SDK dan MVS2005. Menyerah dengan tegas.
3. Aplikasi Web Pertama
Setelah menjalankan "Hello World", mulailah menulis aplikasi web yang sepenuhnya didasarkan pada Node. Pertama, Anda perlu memulai modul server. Objek yang dikembalikan oleh fungsi CreateServer dalam modul HTTP memiliki port mendengarkan metode mendengarkan ([port]). Parameter fungsi ini aneh dan merupakan definisi fungsi. Dalam JavaScript, suatu fungsi dapat menerima parameter sebagai fungsi lain, dan fungsi parameter disebut fungsi anonim. Alasan untuk menggunakan metode ini adalah bahwa Node menggunakan callback yang digerakkan oleh acara. Ketika server menerima permintaan dalam satu proses, ia akan memanggil fungsi ini untuk memproses permintaan. Ketika peristiwa yang sesuai terjadi, fungsi CreateServer memanggil fungsi ini bolak -balik.
Setelah menerima permintaan HTTP, kami harus memproses permintaan. Pertama, kami secara abstrak mengusulkan URL yang berbeda dan mendapatkan dan memposting parameter ke permintaan. Di sini kami menggunakan dua URL modul internal (URL parsing) dan string kueri (pemrosesan string kueri). Dan tambahkan modul router melalui injeksi ketergantungan. Selanjutnya, modul yang menangani permintaan perlu diselesaikan sebelum perutean ditingkatkan. Semua permintaan pertama kali dilewatkan di antara modul melalui pegangan, dan pawang dapat merespons. Secara umum, biarkan penangan permintaan langsung mengembalikan (return ()) informasi yang ingin mereka tampilkan kepada pengguna melalui fungsi OnRequest. Namun, ini bisa sangat memakan waktu saat melakukan operasi pemblokiran, jadi kita perlu menggunakan operasi non-blocking. Gunakan panggilan balik dengan meneruskan fungsi sebagai argumen ke fungsi lain yang membutuhkan waktu untuk diproses. Dibandingkan dengan meneruskan konten ke server, kami menggunakan metode "meneruskan" server ke konten kali ini. Ini adalah untuk lulus objek respons (dapatkan dari fungsi panggilan balik server onRequest ()) sebagai parameter fungsi ke pawang melalui perutean. Dengan cara ini, pawang dapat memanggil fungsi pada objek.
Selanjutnya, kami akan melakukan langkah pemrosesan, mengunggah gambar melalui formulir, dan di sini kami menggunakan paket ketergantungan eksternal yang tangguh untuk menerima gambar. Modul ini digunakan untuk memproses formulir dan mengunggah file. Pertama gunakan var form = new formatable.incomingform (); untuk mendapatkan objek formulir. Metode parse objek ini dapat menguraikan dan memproses data formulir. Kami cukup menyimpan file. Modul FS digunakan untuk menyimpan file. Dengan mengganti nama metode, menentukan lokasi yang disimpan, menggunakan metode yang disinkronkan Renamesync (), perilaku menyimpan file dapat didahului dengan menampilkan perilaku gambar.
Sangat mudah untuk menampilkan gambar. Anda dapat membaca file melalui metode ReadFile FS. Anda dapat menggunakan response.write (file, "biner") dalam fungsi panggilan baliknya untuk menampilkan gambar di browser.
Untuk meringkas: Melalui rutinitas ini, kami telah belajar tentang fitur-fitur di Node.js, seperti satu threading, asinkron, didorong oleh peristiwa, dll. Beberapa konsep abstrak ini juga ditampilkan melalui rutinitas, tetapi mereka masih perlu dipahami secara mendalam. Belajar melalui rutinitas berarti Anda perlu memeriksa informasi ketika Anda tidak memahaminya. Metode pembelajaran ini juga merupakan metode tipe input-output-output yang baik.