柚子快報(bào)邀請碼778899分享:Node.js 入門
柚子快報(bào)邀請碼778899分享:Node.js 入門
1. 什么是 Node.js ?
基于 Chrome 的 V8引擎封裝,獨(dú)立執(zhí)行JavaScript代碼的環(huán)境
定義:Node.js 是一個(gè)跨平臺JavaScript運(yùn)行環(huán)境,使開發(fā)者可以搭建服務(wù)器端的JavaScript應(yīng)用程序。
作用:使用Node.js編寫服務(wù)器端程序
? ? ? ? ? ?編寫后端程序:提供數(shù)據(jù)和網(wǎng)頁資源等
? ? ? ? ? ?前端工程化:集成各種開發(fā)中使用的工具和技術(shù)
2. 什么是前端工程化?
?前端工程化:開發(fā)項(xiàng)目直到上線,過程中集成的所有工具和技術(shù)
3. Node.js 為何能執(zhí)行JS ?
首先:瀏覽器能執(zhí)行 JS 代碼,依靠的是內(nèi)核中的V8引擎(C++程序)
其次:Node.js 是基于 Chrome V8 引擎進(jìn)行封裝(運(yùn)行環(huán)境)
區(qū)別:都支持 ECMAScript 標(biāo)準(zhǔn)語法,Node.js 有獨(dú)立的 API
注意:Node.js 環(huán)境中沒有 DOM 和 BOM
?
4. Node.js 安裝
注意事項(xiàng):
? ? ? ?1. 安裝在非中文路徑下
? ? ? ?2. 無需勾選自動(dòng)安裝其他配置軟件
?
成功驗(yàn)證:打開cmd終端,輸入 node -v 命令查看版本號
?
?5. 使用 Node.js
命令:在 vscode 集成終端中,輸入 node xx.js,回車即可執(zhí)行
fs 模塊?——讀寫文件
模塊:? ?類似插件,封裝了屬性/方法
fs模塊:封裝了與本機(jī)文件系統(tǒng)進(jìn)行交互的屬性/方法
語法:1. 加載 fs模塊對象
? ? ? ? ? ?2. 寫入文件內(nèi)容
? ? ? ? ? ?3. 讀取文件內(nèi)容
在集成終端中打開
運(yùn)行后
path 模塊——路徑處理
問題:Node.js 中,相對路徑是根據(jù)終端所在路徑來查找的,可能無法找到你想要的文件
解決:在 Node.js 代碼中,使用絕對路徑
1.? __dirname
內(nèi)置變量 (獲取當(dāng)前文件所在文件夾——絕對地址)
2.? path.join()
會使用特定于平臺的分隔符,作為定界符,將所有給定的路徑片段連接在一起
語法:
1. 加載 path 模塊
const path = require('path')
2. 使用 path.join 方法,拼接路徑
path.join('路徑1', '路徑2', ...)
path.join('03', 'dist/js', 'index.js')
// windows: '03\dist\js\index.js'
// mac: '03/dist/js/index.js'
案例 - 壓縮前端 html
需求:把 回車符(\r) 和 換行符(\n) 去掉后,寫入到新的 html 文件中
步驟:
? ? ? ? 1. 讀取 源html 文件內(nèi)容
? ? ? ? 2. 正則替換字符串
? ? ? ? 3. 寫入到 新html 文件中
需要壓縮的文件是public文件夾下的index.html?
?在 dist文件夾下生成新的index.html
URL 中的端口號
注意:0-1023 和一些特定端口號被占用,我們自己編寫服務(wù)程序請避開使用
http 模塊——?jiǎng)?chuàng)建 web 服務(wù)
需求:創(chuàng)建web服務(wù)并響應(yīng)內(nèi)容給瀏覽器
步驟 :
1. 加載 http模塊,創(chuàng)建 web服務(wù)對象
2. 監(jiān)聽 request請求事件,設(shè)置響應(yīng)頭和響應(yīng)體
3. 配置端口號并啟動(dòng)?web服務(wù)
4. 瀏覽器請求 http://localhost:3000 測試
?
瀏覽時(shí)鐘
需求:基于web服務(wù),開發(fā)提供網(wǎng)頁資源的功能
步驟:
1. 基于 http模塊,創(chuàng)建 web服務(wù)
2. 使用 req.url 獲取請求資源路徑,判斷并讀取 index.html 里字符串內(nèi)容返回給請求方
3. 其他路徑,暫時(shí)返回不存在的提示
4. 運(yùn)行 web服務(wù),用瀏覽器發(fā)起請求測試
柚子快報(bào)邀請碼778899分享:Node.js 入門
好文鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。