Rumah  >  Artikel  >  hujung hadapan web  >  Menyemak Node JS

Menyemak Node JS

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-01 14:33:02160semak imbas

Revisando Node JS

Hujung minggu ini saya memutuskan untuk menyemak sedikit tentang JavaScript dan Node. Itu kerana saya terjumpa definisi semasa menguji projek yang muncul dalam suapan GitHub saya.

Saya juga bercadang untuk mengkaji beberapa topik seperti gelung acara dan janji dengan lebih mendalam, jadi ulasan akan menjadi bagus.

Ini nota saya.

Apa itu Node

Ia adalah persekitaran (masa jalan) yang membolehkan JavaScript dilaksanakan pada bahagian pelayan. Dengan itu, anda boleh membuat aplikasi yang dijalankan di luar penyemak imbas (bahagian belakang, mudah alih, aplikasi desktop...).

Sekadar untuk mengingatkan anda, JavaScript ialah bahasa pengaturcaraan yang ditafsir dan berbilang paradigma yang dicipta untuk menambah interaktiviti pada halaman web, iaitu, ia dibangunkan dengan tujuan untuk digunakan dalam penyemak imbas.

Kini terdapat persekitaran pelaksanaan JavaScript lain seperti Deno atau Bun, tetapi Node adalah perintis, dilancarkan pada tahun 2009.

Kemungkinan untuk membangunkan kedua-dua bahagian hadapan dan hujung belakang aplikasi menggunakan hanya satu bahasa pengaturcaraan adalah hebat. Keupayaan ini adalah salah satu kelebihan besar JavaScript, walaupun sesetengah profesional mempersoalkan penggunaannya di bahagian pelayan.

Memikirkan moto Java "Tulis sekali, lari ke mana-mana", kami mempunyai milik kami: belajar sekali, cipta segala-galanya.

Node adalah berdasarkan enjin V8 Google Chrome, yang membaca dan melaksanakan kod JavaScript dalam penyemak imbas. Ciri penting ialah enjin JavaScript adalah bebas daripada penyemak imbas tempat ia dijalankan, yang membenarkan penciptaan Node dan persekitaran lain.

Terdapat enjin JavaScript lain:

  • Firefox menggunakan SpiderMonkey
  • Safari menggunakan JavaScriptCore
  • Edge menggunakan Chakra dan kini menggunakan V8

JavaScript dianggap sebagai bahasa yang ditafsirkan tetapi enjin mempunyai langkah penyusunan just-in-time (JIT), menjadikannya bahasa yang ditafsir dan disusun.

Adalah penting untuk ambil perhatian bahawa Node tidak mempunyai akses kepada API manipulasi DOM, tetingkap, dsb. Sebaliknya, ia mempunyai perpustakaan standardnya yang membolehkan anda mengakses sistem fail, mendengar permintaan HTTP, menjana UUID, memancarkan acara dan banyak perkara lain.

// ❌
const element = document.getElementById('js-in-server')
console.log(element.textContent)

// ✅
import fs from 'fs'

fs.readFile('js-is-really-cool.md', 'utf-8', (err, content) => {
    console.log(content)
})

Node dilengkapi dengan pengurus pakej NPM (Pengurus Pakej Node) yang digunakan untuk mengatur, memasang dan menyelesaikan kebergantungan projek. NPM juga merupakan pendaftar pakej lalai, di situlah perpustakaan dan rangka kerja didaftarkan untuk kegunaan kemudian.

Sekadar menjelaskan, terdapat alat pengurusan pakej NPM dan pendaftar untuk pakej ini, yang juga dipanggil NPM. Lagi tentang di sini.

Alternatif kepada alat tersebut ialah benang dan pnpm. Persekitaran Bun juga mempunyai pengurus pakej yang serasi dengan Node dan bertujuan untuk menjadi pengganti terpantas antara pilihan yang saya nyatakan sebelum ini.

Bercakap tentang pendaftar, baru-baru ini sejenis alternatif moden telah muncul yang mendakwa dibuat untuk Typescript dan ESM, JSR.

Beberapa ciri "baharu" yang sangat hebat yang saya ingat telah ditambahkan pada Node:

  • Memuatkan pembolehubah persekitaran (.env)
  • Uji pelari, diperkenalkan secara stabil dalam versi 20.x
  • Pelaksanaan skrip taip, masih dalam percubaan

Itu sahaja buat masa ini, saya berhasrat untuk mengemas kini ulasan ini untuk mengetahui apakah gelung acara dan kepentingannya.

Fakta yang menyeronokkan ialah saya membangunkan pelayan HTTP pertama saya menggunakan Node dan dengan itu saya dapati saya suka back end.

Terima kasih kerana membaca!

Atas ialah kandungan terperinci Menyemak Node JS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn