- 創(chuàng)建第一個node.js應(yīng)用
// 載入 http 模塊,并將實例化的 HTTP 賦值給變量 http
const http = require('http')
// http.createServer() 方法創(chuàng)建服務(wù)器庆尘,并使用 listen 方法綁定 8888 端口。 函數(shù)通過 request, response 參數(shù)來接收和響應(yīng)數(shù)據(jù)巷送。
http.createServer((request, response) => {
response.writeHead(200, {'Content-Type': 'text/plain'})
response.end('hello h1 World\n')
}).listen(8888)
console.log('Server running at http://127.0.0.1:8888/')
node server.js
接下來驶忌,打開瀏覽器訪問 http://127.0.0.1:8888/,你會看到一個寫著 "Hello World"的網(wǎng)頁
node.js REPL(交互式解釋器)
進入repl模式node
REPL 命令
ctrl + c
- 退出當(dāng)前終端笑跛。
ctrl + c
按下兩次 - 退出 Node REPL位岔。
ctrl + d
- 退出 Node REPL.
向上/向下 鍵
- 查看輸入的歷史命令
tab 鍵
- 列出當(dāng)前命令
.help
- 列出使用命令
.break
- 退出多行表達(dá)式
.clear
- 退出多行表達(dá)式
.save filename
- 保存當(dāng)前的 Node REPL 會話到指定文件
.load filename
- 載入當(dāng)前 Node REPL 會話的文件內(nèi)容。EventEmitter類
當(dāng)添加新的監(jiān)聽器時堡牡,newListener 事件會觸發(fā)
當(dāng)監(jiān)聽器被移除時,removeListener 事件被觸發(fā)
const events = require('events').EventEmitter // 類
const emitter = new events() // 實例
emitter 實例方法 :
事件: event
函數(shù): listener
-
addListener(event, listener)
為指定事件注冊一個監(jiān)聽器到監(jiān)聽器數(shù)組的尾部和on沒有區(qū)別
-
on(event, listener)
為指定事件注冊一個監(jiān)聽器 -
once(event, listener)
為指定事件注冊一個單次監(jiān)聽器杨刨,觸發(fā)后立刻解除該監(jiān)聽器 -
removeListener(event, listener)
移除指定事件的某個監(jiān)聽器晤柄,監(jiān)聽器必須是該事件已經(jīng)注冊過的監(jiān)聽器 -
removeAllListeners([event])
移除所有事件的所有監(jiān)聽器, 如果指定事件妖胀,則移除指定事件的所有監(jiān)聽器 -
newListener(event, listener)
該事件在添加新監(jiān)聽器時被觸發(fā) -
setMaxListeners(n)
默認(rèn)情況下芥颈, EventEmitters 如果你添加的監(jiān)聽器超過 10 個就會輸出警告信息。 setMaxListeners 函數(shù)用于提高監(jiān)聽器的默認(rèn)限制的數(shù)量 -
listeners(event)
返回指定事件的監(jiān)聽器數(shù)組 -
emit(event, [arg1], [arg2], [...])
執(zhí)行該事件的監(jiān)聽器赚抡,如果該事件有注冊監(jiān)聽返回 true爬坑,否則返回 false
如: emitter.on('connection', listener2)
event 類方法: (實例、事件)
-
listenerCount(emitter, event)
返回指定事件的監(jiān)聽器數(shù)量
如: events.listenerCount(emitter,'connection')