1.node為js提供了很多伺服器級別的api,這些api絕大多數都被包裝到了乙個具名核心模組中了。
例如:fs就是檔案操作的的核心模組,http服務構建的http模組,path路徑操作模組,os作業系統資訊模組(獲取系統資訊)
如果想要使用模組,就要先載入他,用require()方法;
2.在node中有三種模組:
用相對路徑,必須加"./",不能省略
字尾名可以省略,
注意:在node中沒有全域性作用域,只有模組作用域(超出檔案的變數揮著方法沒有用,外部訪問不到內部,內部也訪問不到外部,預設都是封閉的)
問題:因為不能使用載入檔案的成員,如何讓模組與模組之間通訊?
require()方法有兩個作用:
每個檔案模組都提供了乙個物件——exports,exports預設是乙個空物件,可以把所需要的外部訪問成員掛載到這個export物件中
例如在a檔案中的**為:
var bexports = require('./b')
var fs = require('fs')
console.log(bexports.foo)
console.log(bexports.add(10, 30))
console.log(bexports.age)
bexports.readfile('./a.js')
fs.readfile('./a.js', function (err, data) else
})
在b檔案中**為:
var foo = 'bbb'
// console.log(exports)
exports.foo = 'hello'
exports.add = function (x, y)
exports.readfile = function (path, callback)
var age = 18
exports.age = age
function add(x, y)
最後程式執行效果:
node核心模組
1 http模組 搭建 http 服務端和客戶端 2 fs模組 檔案管理 3 path模組 處理檔案和目錄的路徑 4 url模組 處理url 5 querystring模組 處理查詢字串 6 os模組 提供作業系統的一些基本資訊 7 net模組 提供了一些用於底層的網路通訊的小工具,包含了建立伺服器...
Node核心模組
在node中,模組主要分兩大類 核心模組和檔案模組。核心模組部分在 node 源 的編譯過程中,編譯進了二進位制執行檔案。在 node 進啟動時,部分核心模組就被直接載入進記憶體中,所以這部分核心模組引入時,檔案定位和編譯執行這兩個步驟可以省略掉,並且在路徑分析中優先判斷,所以它的載入速度是最快的。...
Node核心模組Buffer
buffer是node掛載到global上的乙個類。也就是記憶體,乙個漢字在utf8編碼下是三個位元組。buffer的變現形式是16進製制。let buf buffer.alloc 6 console.log buf 複製 let buf buffer.from 123131 let buf buf...