Rumah  >  Artikel  >  hujung hadapan web  >  Apa itu Nodejs

Apa itu Nodejs

PHPz
PHPzasal
2024-08-01 01:44:23808semak imbas

What is Nodejs

Nodejs ialah masa jalan JavaScript. Ini bermakna nodejs ialah program yang membolehkan anda menjalankan JavaScript di luar penyemak imbas. Akibatnya, seseorang boleh membangunkan aplikasi backend menggunakan nodejs. Kini, ini tidak terhad kepada bahagian belakang. Kami boleh membina aplikasi desktop, IoT dan aplikasi awan, untuk menyebut beberapa. Nodejs ialah merentas platform. Program itu sendiri menjalankan Linux, Windows dan macOS.

Mengapa seseorang harus menggunakan Nodejs

Nodejs datang dengan beberapa kelebihan dan ini termasuk tetapi tidak terhad kepada:

  • I/O tidak menyekat
  • Tak segerak
  • Boleh skala
  • Memandu acara
  • mempunyai kependaman rendah
  • mempunyai benang
  • boleh digunakan di mana-mana, di mana sahaja
  • mempunyai komuniti yang besar

Bak kata pepatah, pulangan segera bermakna kesulitan jangka panjang. Kelemahan di sini ialah javascript (saya suka javascript) dan kadangkala tidak mereka bentuk sistem yang anda ingin bina dengan mengambil kira penskalaan. Sekali lagi, bukan Nodej tetapi alatan dan manusia yang menggunakan Nodej.

Anda boleh membaca lebih lanjut tentang nodej di sini

Pemasangan

Orang di Nodejs bijak, hormati itu. Mereka memudahkan pemasangan untuk anda dan saya. Orang yang tidak mempunyai pengetahuan teknikal boleh menyediakan Nodej dan mula menulis beberapa kod. Mereka menyediakan pilihan di mana seseorang boleh menggunakan:

  • pengurus pakej
  • pemasang pra-bina
  • perduaan pra-bina
  • dan pemasangan dengan membina kod sumber

Antara ini, tiga yang pertama adalah mesra. Jadi pilih mana-mana daripada mereka. Mari pergi ke muat turun-nodejs dan "biar ada nodejs".

Setakat ini, versi nod semasa ialah 22 dan LTS (mempunyai sokongan jangka panjang) ialah 20.

Saya menggunakan mesin Linux, jadi saya akan menggunakan pemasangan dengan nvm (pengurus versi Node). Ini memberi kita rasa bahawa kita boleh mempunyai beberapa versi nodej. Ini akan berfungsi di luar kotak untuk macOS juga.

# installs nvm (Node Version Manager)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

# download and install Node.js (you may need to restart the terminal)
nvm install 20

# verifies the right Node.js version is in the environment
node -v # should print `v20.15.1`

# verifies the right npm version is in the environment
npm -v # should print `10.7.0`

Ini adalah skrip yang sama pada platform nodejs (tapak web). Jadi tidak sepatutnya ada sebarang masalah apabila anda menjalankan arahan ini.

Untuk tingkap, sesuatu yang serupa akan menjadi

# installs fnm (Fast Node Manager)
winget install Schniz.fnm

# download and install Node.js
fnm use --install-if-missing 20

# verifies the right Node.js version is in the environment
node -v # should print `v20.15.1`

# verifies the right npm version is in the environment
npm -v # should print `10.7.0`

Atau Muat turun sahaja pemasangan pra-bina, pemasang nod-prabina. Pada penghujung hari, anda sepatutnya dapat menjalankan dua arahan terakhir untuk mengesahkan pemasangan anda.

# verifies the right Node.js version is in the environment
node -v # should print `v20.15.1`

# verifies the right npm version is in the environment
npm -v # should print `10.7.0`

NVM

nvm bukan pilihan untuk tetingkap semasa pemasangan tetapi ia boleh dipasang di sini, dan mengetahui sedikit tentangnya akan menjadi pendidikan.

Kami menyenaraikan semua versi lain nodej yang kami ada, menggunakan arahan, senarai nvm

username@computer-name:~$ nvm list
->     v18.18.0
default -> 18.18.0 (-> v18.18.0)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v18.18.0) (default)
stable -> 18.18 (-> v18.18.0) (default)
lts/* -> lts/hydrogen (-> v18.18.0)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.21.3 (-> N/A)
lts/gallium -> v16.20.2 (-> N/A)
lts/hydrogen -> v18.18.0

Daripada perkara di atas, kita boleh tahu bahawa v18.18.0 ialah nodej yang saya jalankan.

Kami boleh memasang beberapa versi lain seperti 20 LTS, menggunakan nvm install 20

username@computer-name:~$ nvm install 20
Downloading and installing node v20.15.1...
Downloading https://nodejs.org/dist/v20.15.1/node-v20.15.1-linux-x64.tar.xz...
######################################################################### 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v20.15.1 (npm v10.7.0)

Ini secara automatik bertukar kepada v20.15.1. Yang merupakan LTS terkini.

Kini saya boleh bertukar kepada versi nod yang kami kehendaki dengan, nvm gunakan 18

username@computer-name:~$ nvm use 18
Now using node v18.18.0 (npm v10.8.2)
username@computer-name:~$
username@computer-name:~$ node -v
v18.18.0

Dan itu akan berlaku pada nvm

NPM

npm ialah pengurus pakej nod. Jika anda tertanya-tanya apa itu pakej, jangan tertekan. Pakej adalah sama dengan perpustakaan. Beberapa coretan kod atau atur cara, yang ditulis oleh orang lain boleh digunakan dalam program kami untuk melakukan sesuatu. Jadi pakej bertujuan untuk menyelesaikan masalah dan semua itu. npm dan pengurus pakej nod lain seperti yarn, pnpm, bun dan lain-lain membantu kami menguruskan pakej yang kami pasang untuk projek kami. Kami hanya akan menumpukan pada npm di sini.

Untuk memulakan projek nodejs (bukan hanya javascript), kita perlu menggunakan pakej nod. Maksud saya, ada kalanya kami membangunkan keseluruhan program tanpa bergantung pada perpustakaan pihak ketiga (program yang kami tidak tulis atau datang dengan Nodejs).

Kita boleh mencipta aplikasi nodejs dengan mencipta fail nod packege.json dengan arahan, npm init. Lakukan npm init --help untuk membaca lebih lanjut mengenai npm init. Ia biasanya lebih baik untuk memulakan program nod dalam persekitaran yang segar (folder). Jadi kami akan mencipta satu dan memanggilnya helloworld. Saya akan menggunakan terminal.

username@computer-name:~$ mkdir helloworld
username@computer-name:~$ cd helloworld/
username@computer-name:~/helloworld$ npm init
This utility will walk you through creating a package.json file.
It only covers the most common items and tries to guess sensible defaults.

See `npm help init` for definitive documentation on these fields
and exactly what they do.

Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (helloworld) 
version: (1.0.0) 
description: 
entry point: (index.js) 
test command: 
git repository: 
keywords: 
author: 
license: (ISC) 
About to write to /home/username/helloworld/package.json:

{
  "name": "helloworld",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
 },
  "author": "",
  "license": "ISC",
  "description": ""
}

Is this OK? (yes) 

username@computer-name:~/helloworld$ 
  • Saya mencipta folder bernama, mkdir helloworld
  • Saya menukar kepada folder helloworld, cd helloworld
  • Saya kemudiannya memulakan nod, npm init

Ia akan menjadi seperti wizard pemasangan, memandu anda melalui langkah konfigurasi. Harap maklum bahawa anda boleh mengemas kininya kemudian. Anda hanya perlu tekan, ENTER, ENTER sehingga keseluruhan proses tamat. Apabila anda membuka folder helloworld dalam peneroka fail, anda akan melihat fail baharu, package.json dengan kandungannya serupa dengan output di atas.

{
  "name": "helloworld",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
 },
  "author": "",
  "license": "ISC",
  "description": ""
}

Konfigurasi ini adalah intuitif. Ia memberitahu anda nama projek (atau program) yang akan kami buat. Ia menggunakan nama folder induk sebagai nama projek. Semasa proses pemulaan nod (projek), kami boleh memberikannya nama dan juga memberikan nilai kepada medan lain. Di sinilah kami menekan ENTER, ENTER, …

Another way to run through this without hitting ENTER, ENTER, …, is to do, npm init -y . -y, mean, yes, use the default values.

Primarily, node packages are on npmjs.com. Let’s say we want to install the expressjs library. This is how to search for express on npmjs. The docs will tell you how to install it using the command, npm i express.

username@computer-name:~/helloworld$ npm i express

added 64 packages, and audited 65 packages in 4s

12 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

i means install. You write it out as npm install express. The package.json will be updated with the package added.

{
  "name": "helloworld",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
 },
  "author": "",
  "license": "ISC",
  "description": "",
  "dependencies": {
    "express": "^4.19.2"
 }
}

Now, we have a new dependency.

Note that no file or folder will be created. When we do ls

username@computer-name:~/helloworld$ ls
node_modules  package.json  package-lock.json
  • We have node_modules, which is a folder that holds the dependencies (packages) our program will use.
  • Also we have, package-lock.json, which serves as a lockfile, hence the name. It captures the exact versions of the package that we install and use to create our programs. This way, the same packages and their specific versions can be used all the time since different versions of the same package may behave differently.

Anyways, we can install packages in three ways or rather environment. This is basically where you want the package to be used.

  • global: This will be accessible to all node programs you have. Usually, install packages globally when they are general purpose programs like command line utilities.
  • development: This is meant for development only and not used on some remote servers since the remote server will have its way of handling the use case of that dependency. These are usually utility libraries that work with other libraries to achieve a purpose. These may include but are not limited to eslint, prettier, dotenv, etc.
  • production: This is a package that our application primarily relies on to function. Like express.

We can do,

  • npm i -g package-names ... to globally install a package
  • npm i --global package-names ... to globally install a package
  • npm i -S package-names ... to install a package (for production)
  • npm i --save package-names ... to install a package (for production)
  • npm i -D package-names ... to install a package (for development, you won’t need it to make our application run)
  • npm i --save-dev package-names ... to install a package (for development, you won’t need it to make our application run)
  • npm uninstall package-names ... to remove or uninstall package

Essentially this is all that we will need to manage our packages.

Atas ialah kandungan terperinci Apa itu Nodejs. 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
Artikel sebelumnya:Hari f JavaScriptArtikel seterusnya:Hari f JavaScript