Node.js的基本應(yīng)用你知道多少
一、Node.js是什么
1、瀏覽器的內(nèi)核
(1)傳統(tǒng)意義上的javascript運(yùn)行在瀏覽器上,這是因?yàn)闉g覽器內(nèi)核實(shí)際上分為兩個(gè)部分,渲染引擎和javaScript引擎。前者主要負(fù)責(zé)渲染HTML+CSS,后者主要負(fù)責(zé)運(yùn)行javaScript。
渲染引擎:用于渲染HTML、CSS
js引擎:用于執(zhí)行JavaScript代碼
(2)Node.js搭建了一個(gè)JavaScript的服務(wù)器運(yùn)行環(huán)境,JavaScript可以脫離瀏覽器直接運(yùn)行
(3)Node相當(dāng)于JavaScript的虛擬機(jī),虛擬的構(gòu)建一個(gè)JavaScript的“運(yùn)行環(huán)境”
(4)Node使用的谷歌的V8引擎,可以方便的調(diào)用操作系統(tǒng)資源
2、為什么要用node.js
(1)JavaScript的函數(shù)式編程:沒有獨(dú)立的運(yùn)行環(huán)境,無法滿足工程化的需求
(2)語法寬松,像'玩具語言',在開發(fā)時(shí)標(biāo)準(zhǔn)不統(tǒng)一
(3)Node.js 適合以下場景:
A、實(shí)時(shí)性應(yīng)用,比如在線多人協(xié)作工具,網(wǎng)頁聊天應(yīng)用等。
B、以 I/O 為主的高并發(fā)應(yīng)用,比如為客戶端提供 API,讀取數(shù)據(jù)庫
C、流式應(yīng)用,比如客戶端經(jīng)常上傳文件。
D、前后端分離。
3、node.js應(yīng)用程序的示例
const http = require('http') //引入了 Node.js http 模塊
const hostname = '127.0.0.1'
const port = 3000
//創(chuàng)建HTTP 服務(wù)器,并提供兩個(gè)對(duì)象:一個(gè)請(qǐng)求(http.IncomingMessage 對(duì)象)和一個(gè)響應(yīng)(http.ServerResponse 對(duì)象)
const server = http.createServer((req, res) => {
res.statusCode = 200 //設(shè)置 statusCode 屬性為 200,以表明響應(yīng)成功。
res.setHeader('Content-Type', 'text/plain') //設(shè)置 Content-Type 響應(yīng)頭
res.end('Hello World!\n') //關(guān)閉響應(yīng),添加內(nèi)容作為 end() 的參數(shù)
})
//服務(wù)器啟動(dòng)監(jiān)聽
server.listen(port, hostname, () => {
console.log(`服務(wù)器運(yùn)行在 http://${hostname}:${port}/`)
})req:是request對(duì)象(請(qǐng)求對(duì)象):包含客戶端向服務(wù)端發(fā)送請(qǐng)求的請(qǐng)求信息
res:是response對(duì)象(響應(yīng)對(duì)象):包含服務(wù)器端向客戶端發(fā)送的響應(yīng)信息
在瀏覽器中訪問服務(wù)器:http://127.0.0.1/3000。渲染效果:

二、Node.js中的npm
1、什么是npm:是node自帶的包管理器,用于安裝、卸載node程序中使用的模塊
2、下載并安裝npm服務(wù)器上的第三方模塊
3、下載別人編寫好的命令行程序
4、可以將自己寫的模塊上傳到npm服務(wù)器(模塊共享)、
5、常用指令:
(1)查看npm是否安裝成功(及版本號(hào)): npm -v
(2)升級(jí)npm: npm install npm -g
(3)全局安裝:被安裝的模塊在所有的node項(xiàng)目中都可以使用: npm install 模塊名稱 -g
注意:如果出現(xiàn)以下錯(cuò)誤: npm err! Error: connect ECONNREFUSED 127.0.0.1:8087
解決辦法為: $ npm config set proxy null
(4)本地安裝:npm install 模塊名稱
(5)安裝指定版本號(hào)的模塊:npm install 模塊名稱@版本號(hào)
(6)重新安裝一個(gè)cnpm(定位到淘寶鏡像),用cnpm命令安裝模塊:
npm install -g cnpm --registry=https://registry.npm.taobao.org
(7)卸載安裝的模塊:npm uninstall 模塊名稱
三、yarn包管理器
高效、快速、安全可靠的包管理器
1、帶有緩存機(jī)制:將第一次下載的包緩存下來。提高了包的安裝下載速度
2、安裝:npm install yarn
3、初始化:yarn init
4、查看版本號(hào):yarn --version
5、安裝模塊:yarn add 模塊名稱@版本號(hào)
6、卸載模塊:yarn remove 模塊名稱
四、REPL環(huán)境
"讀-取-輸出-循環(huán)"的環(huán)境,可以直接運(yùn)行JavaScript指令
REPL是Node.js與用戶互動(dòng)的shell,各種基本的shell功能都可以在里面使用,
特殊變量下劃線(_)表示上一個(gè)命令的返回結(jié)果。
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
NodeJs項(xiàng)目中關(guān)閉ESLint的方法
ESLint是一個(gè)用來識(shí)別 ECMAScript 并且按照規(guī)則給出報(bào)告的代碼檢測工具,使用它可以避免低級(jí)錯(cuò)誤和統(tǒng)一代碼的風(fēng)格。這篇文章主要介紹了NodeJs項(xiàng)目中關(guān)閉ESLint的方法,需要的朋友可以參考下2018-08-08
nodejs發(fā)布靜態(tài)https服務(wù)器的方法
這篇文章主要介紹了nodejs發(fā)布靜態(tài)https服務(wù)器的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09
nodejs 提示‘xxx’ 不是內(nèi)部或外部命令解決方法
本文介紹了node.js包管理工具npm安裝模塊后,無法通過命令行執(zhí)行命令,提示‘xxx’ 不是內(nèi)部或外部命令的解決方法,給需要的小伙伴參考下。2014-11-11
Node.js實(shí)現(xiàn)格式化時(shí)間的兩種方法詳解
在 Node.js 開發(fā)中,格式化時(shí)間是一個(gè)常見的需求,本文將介紹兩種格式化時(shí)間的方式,即使用 JavaScript 內(nèi)置方法 和 使用 npm 包 moment,需要的可以了解下2025-03-03
nodeJS中關(guān)于path.resolve()的用法解析
這篇文章主要介紹了nodeJS中關(guān)于path.resolve()的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
Node.js+ES6+dropload.js實(shí)現(xiàn)移動(dòng)端下拉加載實(shí)例
這個(gè)demo服務(wù)由Node搭建服務(wù)、下拉加載使用插件dropload,數(shù)據(jù)渲染應(yīng)用了ES6中的模板字符串。有興趣的小伙伴可以自己嘗試下2017-06-06
NodeJS如何優(yōu)雅的實(shí)現(xiàn)Sleep休眠
這篇文章主要介紹了NodeJS如何優(yōu)雅的實(shí)現(xiàn)Sleep休眠問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-09-09
Node.js 使用 Express-Jwt和JsonWebToken 進(jìn)行Token身份
這篇文章主要介紹了Node.js 使用 Express-Jwt和JsonWebToken 進(jìn)行Token身份驗(yàn)證的操作方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-08-08

