Node.js的基本應用你知道多少

一、Node.js是什麼

1、瀏覽器的內核

(1)傳統意義上的javascript運行在瀏覽器上,這是因為瀏覽器內核實際上分為兩個部分,渲染引擎javaScript引擎。前者主要負責渲染HTML+CSS,後者主要負責運行javaScript。

渲染引擎:用於渲染HTML、CSS

js引擎:用於執行JavaScript代碼

(2)Node.js搭建瞭一個JavaScript的服務器運行環境,JavaScript可以脫離瀏覽器直接運行

(3)Node相當於JavaScript的虛擬機,虛擬的構建一個JavaScript的“運行環境”

(4)Node使用的谷歌的V8引擎,可以方便的調用操作系統資源

2、為什麼要用node.js

(1)JavaScript的函數式編程:沒有獨立的運行環境,無法滿足工程化的需求

(2)語法寬松,像'玩具語言',在開發時標準不統一

(3)Node.js 適合以下場景:

A、實時性應用,比如在線多人協作工具,網頁聊天應用等。

B、以 I/O 為主的高並發應用,比如為客戶端提供 API,讀取數據庫

C、流式應用,比如客戶端經常上傳文件。

D、前後端分離。

3、node.js應用程序的示例

const http = require('http') //引入瞭 Node.js http 模塊
const hostname = '127.0.0.1'
const port = 3000
//創建HTTP 服務器,並提供兩個對象:一個請求(http.IncomingMessage 對象)和一個響應(http.ServerResponse 對象)
const server = http.createServer((req, res) => { 
  res.statusCode = 200 //設置 statusCode 屬性為 200,以表明響應成功。
  res.setHeader('Content-Type', 'text/plain') //設置 Content-Type 響應頭
  res.end('Hello World!\n') //關閉響應,添加內容作為 end() 的參數
})
//服務器啟動監聽
server.listen(port, hostname, () => {
  console.log(`服務器運行在 http://${hostname}:${port}/`)
})

req:是request對象(請求對象):包含客戶端向服務端發送請求的請求信息

res:是response對象(響應對象):包含服務器端向客戶端發送的響應信息

在瀏覽器中訪問服務器:http://127.0.0.1/3000。渲染效果:

二、Node.js中的npm

1、什麼是npm:是node自帶的包管理器,用於安裝、卸載node程序中使用的模塊

2、下載並安裝npm服務器上的第三方模塊

3、下載別人編寫好的命令行程序

4、可以將自己寫的模塊上傳到npm服務器(模塊共享)、

5、常用指令:

(1)查看npm是否安裝成功(及版本號): npm  -v

(2)升級npm:  npm install npm -g

(3)全局安裝:被安裝的模塊在所有的node項目中都可以使用: npm install 模塊名稱 -g

註意:如果出現以下錯誤: npm err! Error: connect ECONNREFUSED 127.0.0.1:8087

           解決辦法為: $ npm config set proxy null

(4)本地安裝:npm install 模塊名稱

(5)安裝指定版本號的模塊:npm install 模塊名稱@版本號

(6)重新安裝一個cnpm(定位到淘寶鏡像),用cnpm命令安裝模塊:

npm install -g cnpm –registry=https://registry.npm.taobao.org

(7)卸載安裝的模塊:npm uninstall 模塊名稱

三、yarn包管理器

高效、快速、安全可靠的包管理器

1、帶有緩存機制:將第一次下載的包緩存下來。提高瞭包的安裝下載速度

2、安裝:npm install yarn

3、初始化:yarn init

4、查看版本號:yarn –version

5、安裝模塊:yarn add 模塊名稱@版本號

6、卸載模塊:yarn remove 模塊名稱

四、REPL環境

"讀-取-輸出-循環"的環境,可以直接運行JavaScript指令

REPL是Node.js與用戶互動的shell,各種基本的shell功能都可以在裡面使用,

特殊變量下劃線(_)表示上一個命令的返回結果。

總結

本篇文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!   

推薦閱讀: