1.模組系統
require:引入模組,返回乙個物件
module:指代當前的模組物件
module.exports:當前模組的匯出物件
exports:指代module.exports
__filename:當前模組的絕對目錄和模組名稱
__dirname:當前模組的絕對目錄
2.模組引入
以路徑開頭
不以路徑開頭
檔案模組
require('./circle.js')
常用於引入自定義的模組,字尾名.js可以省略
require('url')
常用於引入官方提供的核心模組
目錄模組
require('./02_2')
到02_2下尋找package.json檔案中main屬性對應的檔名稱,如果找不到引入index.js
require('04_2')
會到當前目錄下的node_modules中尋找04_2目錄,如果找不到,往上一級查詢指定頂級目錄;常用於引入第三方模組
3.包和npm
commonjs是一種規範,js向伺服器端發展就遵循了這個規範
包(package)就是乙個目錄模組
切換目錄
cd 完整路徑
指定的目錄空白區域,按住shift鍵,單擊滑鼠右鍵,選擇'在此處開啟powershell視窗'
npm install 包名稱 回車
npm init -y 初始化乙個package.json檔案,用於記錄安裝的包相關資訊
npm install 回車
自動安裝package.json中記錄的包名稱以及版本號
npm官網
4.querystring模組
查詢字串:瀏覽器向伺服器發請求,傳遞資料的一種方式
jd.com/search?keyword=手機&enc=utf-8
parse() 將查詢字串解析為物件
stringify() 將物件格式轉化為查詢字串
5.url模組
parse() 將url解析為物件
protocol 協議
hostname 主機名 網域名稱/ip位址
port 埠
pathname 請求的檔案路徑名稱
format 將物件格式化為url
注意:query中對應的是物件
6.全域性函式
parseint/parsefloat/isnan/isfinite/eval...
(1)一次性定時器
var timer=settimeout(**函式,間隔時間)
當間隔時間到了,執行一次**函式;單位是毫秒
清除cleartimeout(timer);
(2)週期性定時器
開啟var timer=setinterval(**函式,間隔時間)
每隔一段時間,執行一次**函式
清除clearinterval(timer);
(3)立即執行
開啟var timer=setimmediate(**函式)
清除clearimmediate(timer);
在事件佇列的開頭執行
(4)立即執行
process.nexttick(**函式);
7.fs模組(檔案操作)
檔案包含檔案目錄,統稱為檔案。
fs.stat(path,callback)
path 檔案的路徑
callback **函式,用於獲取結果
err 可能產生錯誤資訊
stats 具體檔案狀態
同步(sync)和非同步
同步:等待前邊的**執行完,才能執行後邊的**;會阻止後邊**的執行,通過返回值來獲取結果。
非同步:不會阻止後邊**執行,後邊的操作可以先執行,不必等待前邊的操作結束,通過**函式來獲取結果。
nodejs 中模組使用的介紹
模組的分類 核心模組 如 http 檔案模組 如 var util require util.js 第三方模組 如 var promise require bluebird 模組的使用流程 建立模組 teacher.js 匯出模組 exports.add function 載入模組 var teac...
nodejs模組 http模組
處理url請求 var fs require fs 主頁function home res res.write content res.end about.html 關於頁面 function about res res.write content res.end 匯出頁面處理函式 exports....
nodejs 模組系統
模組系統分為原生系統跟檔案系統,他們的呼叫優先順序為 檔案系統快取區 原生系統 原生系統快取區 檔案系統 1.原生系統 http,path,fs 等 2.載入檔案系統時還可以指定自定義檔案 hello 或者 root node hello 路徑載入 3.mod 非原生系統的檔案系統 node.js ...