Apa itu 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!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Skop JavaScript menentukan skop kebolehcapaian pembolehubah, yang dibahagikan kepada skop global, fungsi dan tahap blok; Konteks menentukan arah ini dan bergantung kepada kaedah panggilan fungsi. 1. Skop termasuk skop global (boleh diakses di mana sahaja), skop fungsi (hanya sah dalam fungsi), dan skop peringkat blok (biarkan dan const sah dalam {}). 2. Konteks pelaksanaan mengandungi objek pembolehubah, rantaian skop dan nilai -nilai ini. Ini menunjukkan kepada global atau tidak ditentukan dalam fungsi biasa, kaedah panggilan kaedah ke objek panggilan, pembina menunjuk ke objek baru, dan juga boleh ditentukan secara jelas oleh panggilan/memohon/mengikat. 3. Penutupan merujuk kepada fungsi mengakses dan mengingati pembolehubah skop luaran. Mereka sering digunakan untuk enkapsulasi dan cache, tetapi boleh menyebabkan

Terdapat dua kaedah teras untuk mendapatkan nilai butang radio yang dipilih. 1. Gunakan QuerySelector untuk mendapatkan item yang dipilih secara langsung, dan gunakan input [NAME = "NAMA-NAMA ANDA"]: Pemilih yang diperiksa untuk mendapatkan elemen yang dipilih dan membaca atribut nilainya. Ia sesuai untuk pelayar moden dan mempunyai kod ringkas; 2. Gunakan Document.GetElementsByName untuk melintasi dan mencari radio yang diperiksa pertama melalui nodelist gelung dan mendapatkan nilainya, yang sesuai untuk senario yang serasi dengan pelayar lama atau memerlukan kawalan manual proses; Di samping itu, anda perlu memberi perhatian kepada ejaan atribut nama, mengendalikan situasi yang tidak dipilih, dan pemuatan kandungan dinamik

Untuk menggunakan JavaScript untuk membuat iframe kotak pasir yang selamat, mula-mula gunakan atribut kotak pasir HTML untuk mengehadkan tingkah laku iframe, seperti melarang pelaksanaan skrip, tingkap pop timbul dan penyerahan bentuk; kedua, dengan menambah token tertentu seperti skrip membenarkan untuk melegakan keizinan seperti yang diperlukan; kemudian menggabungkan postmessage () untuk mencapai komunikasi silang domain yang selamat, sambil mengesahkan sumber mesej dan data yang ketat; Akhirnya elakkan kesilapan konfigurasi biasa, seperti tidak mengesahkan sumber, tidak menubuhkan CSP, dan lain -lain, dan melakukan ujian keselamatan sebelum pergi dalam talian.

COMPOSISAPI dalam VUE3 lebih sesuai untuk logik dan jenis derivasi yang kompleks, dan OptionsAPI sesuai untuk senario dan pemula yang mudah; 1. Optionsapi menganjurkan kod mengikut pilihan seperti data dan kaedah, dan mempunyai struktur yang jelas tetapi komponen kompleks dipecah -pecah; 2. CompositionAPI menggunakan persediaan untuk menumpukan logik yang berkaitan, yang kondusif untuk penyelenggaraan dan penggunaan semula; 3. Compositionapi menyedari penggunaan semula logik bebas konflik dan parameternya melalui fungsi kompos yang lebih baik daripada Mixin; 4. CompositionAPI mempunyai sokongan yang lebih baik untuk typescript dan derivasi jenis yang lebih tepat; 5. Tidak terdapat perbezaan yang signifikan dalam jumlah prestasi dan pembungkusan kedua -duanya; 6.

Terdapat perbezaan penting antara pekerja web JavaScript dan Javathreads dalam pemprosesan serentak. 1. JavaScript mengamalkan model tunggal-thread. WebWorkers adalah benang bebas yang disediakan oleh penyemak imbas. Ia sesuai untuk melaksanakan tugas-tugas yang memakan masa yang tidak menghalang UI, tetapi tidak dapat mengendalikan DOM; 2. Java menyokong multithreading sebenar dari tahap bahasa, yang dibuat melalui kelas thread, sesuai untuk logik serentak dan pemprosesan sisi serentak; 3. WebWorkers menggunakan postmessage () untuk berkomunikasi dengan benang utama, yang sangat selamat dan terpencil; Benang Java boleh berkongsi ingatan, jadi isu penyegerakan perlu diberi perhatian; 4. Pekerja web lebih sesuai untuk pengkomputeran selari depan, seperti pemprosesan imej, dan

Debugging Aplikasi JavaScript kompleks memerlukan alat penggunaan sistematik. 1. Tetapkan titik putus dan titik putus bersyarat untuk memintas proses yang mencurigakan, seperti sebelum masuk fungsi, gelung, panggilan balik asynchronous dan penapis mengikut keadaan; 2. Membolehkan fungsi Blackboxing untuk menyekat gangguan perpustakaan pihak ketiga; 3. Gunakan pernyataan debugger untuk mengawal kemasukan debug berdasarkan penghakiman alam sekitar; 4. Jejak pautan panggilan melalui CallStack, menganalisis laluan pelaksanaan dan status berubah -ubah, dengan itu dengan cekap mencari punca utama masalah.

Pemutus jenis adalah tingkah laku secara automatik menukar satu jenis nilai kepada jenis lain dalam JavaScript. Senario biasa termasuk: 1. Apabila menggunakan pengendali, jika satu sisi adalah rentetan, sisi lain juga akan ditukar kepada rentetan, seperti '5' 5. Hasilnya ialah "55"; 2. 3. Null mengambil bahagian dalam operasi berangka dan akan ditukar kepada 0, dan undefined akan ditukar kepada NAN; 4. Masalah yang disebabkan oleh penukaran tersirat boleh dielakkan melalui fungsi penukaran eksplisit seperti nombor (), rentetan (), dan boolean (). Menguasai peraturan ini membantu

Membina sistem reka bentuk JavaScript memerlukan bermula dari keperluan sebenar dan secara beransur -ansur memperbaikinya. 1. Abstraksi komponen harus "cukup tetapi tidak berlebihan". Pertama, merangkumi komponen biasa dan sifat asas, seperti butang pembolehubah dan kurang upaya, dan kemudian mengembangkan permintaan; 2. Pengurusan gaya harus bersatu dan boleh diperpanjang, menggunakan skema CSS-in-JS, pembolehubah tema dan spesifikasi penamaan bersatu, seperti BEM atau cssmodul; 3. Dokumen dan contoh adalah kunci, dan menggunakan buku cerita untuk menyediakan persembahan visual, meliputi penggunaan, status, jadual prop dan contoh senario sebenar; 4. Sistem reka bentuk memerlukan mekanisme kawalan dan kolaborasi versi, dan memastikan penyelenggaraan berterusan melalui pelepasan NPM, proses kemas kini PR dan penyegerakan alat reka bentuk.
